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
Executorimplementation 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 FunctionCompilercompilerCompiler to create Spark UDFs.org.apache.spark.api.java.JavaSparkContextscTheJavaSparkContextto 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 voiddispose()Releases any instances acquired by this instance to executeExecutionStages.protected Tuple<java.util.List<ChannelInstance>,PartialExecution>execute(ExecutionTask task, java.util.List<ChannelInstance> inputChannelInstances, OptimizationContext.OperatorContext producerOperatorContext, boolean isRequestEagerExecution)Executes the giventaskand return the outputChannelInstances.voidforward(ChannelInstance input, ChannelInstance output)Utility method to forward aRddChannel.Instanceto another.FunctionCompilergetCompiler()Provide aFunctionCompiler.intgetNumDefaultPartitions()Hint toSparkExecutionOperators on how many partitions they should request.SparkPlatformgetPlatform()-
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
TheJavaSparkContextto 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:PushExecutorTemplateExecutes the giventaskand return the outputChannelInstances.- Specified by:
executein classPushExecutorTemplate- Parameters:
task- that should be executedinputChannelInstances- inputs into thetaskisRequestEagerExecution- whether theExecutionTaskshould be executed eagerly if possible- Returns:
- the
ChannelInstances created as output oftask
-
forward
public void forward(ChannelInstance input, ChannelInstance output)
Utility method to forward aRddChannel.Instanceto another.- Parameters:
input- that should be forwardedoutput- to that should be forwarded
-
getPlatform
public SparkPlatform getPlatform()
- Returns:
- the
Platformthis instance belongs to
-
getNumDefaultPartitions
public int getNumDefaultPartitions()
Hint toSparkExecutionOperators on how many partitions they should request.- Returns:
- the default number of partitions
-
dispose
public void dispose()
Description copied from interface:ExecutorReleases any instances acquired by this instance to executeExecutionStages.- Specified by:
disposein interfaceExecutionResource- Specified by:
disposein interfaceExecutor- Overrides:
disposein classExecutorTemplate
-
getCompiler
public FunctionCompiler getCompiler()
Provide aFunctionCompiler.- Returns:
- the
FunctionCompiler
-
-