Class SparkExecutor
- java.lang.Object
-
- org.apache.wayang.core.util.AbstractReferenceCountable
-
- org.apache.wayang.core.platform.ExecutorTemplate
-
- org.apache.wayang.core.platform.PushExecutorTemplate
-
- org.apache.wayang.spark.execution.SparkExecutor
-
- All Implemented Interfaces:
CompositeExecutionResource
,ExecutionResource
,Executor
,ReferenceCountable
public class SparkExecutor extends PushExecutorTemplate
Executor
implementation for theSparkPlatform
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.platform.PushExecutorTemplate
PushExecutorTemplate.StageExecution
-
Nested classes/interfaces inherited from interface org.apache.wayang.core.platform.Executor
Executor.Factory
-
-
Field Summary
Fields Modifier and Type Field Description FunctionCompiler
compiler
Compiler to create Spark UDFs.org.apache.spark.api.java.JavaSparkContext
sc
TheJavaSparkContext
to be used by this instance.-
Fields inherited from class org.apache.wayang.core.platform.PushExecutorTemplate
job
-
Fields inherited from class org.apache.wayang.core.platform.ExecutorTemplate
logger
-
-
Constructor Summary
Constructors Constructor Description SparkExecutor(SparkPlatform platform, Job job)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Releases any instances acquired by this instance to executeExecutionStage
s.protected Tuple<java.util.List<ChannelInstance>,PartialExecution>
execute(ExecutionTask task, java.util.List<ChannelInstance> inputChannelInstances, OptimizationContext.OperatorContext producerOperatorContext, boolean isRequestEagerExecution)
Executes the giventask
and return the outputChannelInstance
s.void
forward(ChannelInstance input, ChannelInstance output)
Utility method to forward aRddChannel.Instance
to another.FunctionCompiler
getCompiler()
Provide aFunctionCompiler
.int
getNumDefaultPartitions()
Hint toSparkExecutionOperator
s on how many partitions they should request.SparkPlatform
getPlatform()
-
Methods inherited from class org.apache.wayang.core.platform.PushExecutorTemplate
execute, getJob
-
Methods inherited from class org.apache.wayang.core.platform.ExecutorTemplate
createPartialExecution, disposeUnreferenced, getConfiguration, getCrossPlatformExecutor, register, registerMeasuredCardinalities, registerMeasuredCardinality, toString, unregister
-
Methods inherited from class org.apache.wayang.core.util.AbstractReferenceCountable
disposeIfUnreferenced, getNumReferences, isDisposed, noteDiscardedReference, noteObtainedReference
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.wayang.core.util.ReferenceCountable
disposeIfUnreferenced, getNumReferences, isDisposed, noteDiscardedReference, noteObtainedReference
-
-
-
-
Field Detail
-
sc
public final org.apache.spark.api.java.JavaSparkContext sc
TheJavaSparkContext
to be used by this instance.- See Also:
sparkContextReference
-
compiler
public FunctionCompiler compiler
Compiler to create Spark UDFs.
-
-
Constructor Detail
-
SparkExecutor
public SparkExecutor(SparkPlatform platform, Job job)
-
-
Method Detail
-
execute
protected Tuple<java.util.List<ChannelInstance>,PartialExecution> execute(ExecutionTask task, java.util.List<ChannelInstance> inputChannelInstances, OptimizationContext.OperatorContext producerOperatorContext, boolean isRequestEagerExecution)
Description copied from class:PushExecutorTemplate
Executes the giventask
and return the outputChannelInstance
s.- Specified by:
execute
in classPushExecutorTemplate
- Parameters:
task
- that should be executedinputChannelInstances
- inputs into thetask
isRequestEagerExecution
- whether theExecutionTask
should be executed eagerly if possible- Returns:
- the
ChannelInstance
s created as output oftask
-
forward
public void forward(ChannelInstance input, ChannelInstance output)
Utility method to forward aRddChannel.Instance
to another.- Parameters:
input
- that should be forwardedoutput
- to that should be forwarded
-
getPlatform
public SparkPlatform getPlatform()
- Returns:
- the
Platform
this instance belongs to
-
getNumDefaultPartitions
public int getNumDefaultPartitions()
Hint toSparkExecutionOperator
s on how many partitions they should request.- Returns:
- the default number of partitions
-
dispose
public void dispose()
Description copied from interface:Executor
Releases any instances acquired by this instance to executeExecutionStage
s.- Specified by:
dispose
in interfaceExecutionResource
- Specified by:
dispose
in interfaceExecutor
- Overrides:
dispose
in classExecutorTemplate
-
getCompiler
public FunctionCompiler getCompiler()
Provide aFunctionCompiler
.- Returns:
- the
FunctionCompiler
-
-