Package org.apache.wayang.spark.compiler
Class FunctionCompiler
java.lang.Object
org.apache.wayang.spark.compiler.FunctionCompiler
A compiler translates Wayang functions into executable Java functions.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSpark function for building pair RDDs.static classSpark function for aggregating data quanta.static interfaceDescribes functions coming from Wayang, designated for Spark. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<I,O> org.apache.spark.api.java.function.FlatMapFunction<I, O> compile(FlatMapDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFlatMapFunctionfor deploying the givenFlatMapDescriptoron Apache Spark.<I,O> org.apache.spark.api.java.function.FlatMapFunction<Iterator<I>, O> compile(MapPartitionsDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenMapPartitionsDescriptoron Apache Spark'sAbstractJavaRDDLike.mapPartitions(FlatMapFunction).<Type> org.apache.spark.api.java.function.Function<Type,Boolean> compile(PredicateDescriptor<Type> predicateDescriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunction-based predicate for deploying the givenPredicateDescriptoron Apache Spark.<T> org.apache.spark.api.java.function.Function2<T,T, T> compile(ReduceDescriptor<T> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenReduceDescriptoron Apache Spark.<I,O> org.apache.spark.api.java.function.Function<I, O> compile(TransformationDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenTransformationDescriptoron Apache Spark.<T,K> FunctionCompiler.KeyExtractor<T, K> compileToKeyExtractor(TransformationDescriptor<T, K> descriptor) Compile a key extraction.
-
Constructor Details
-
FunctionCompiler
public FunctionCompiler()
-
-
Method Details
-
compile
public <I,O> org.apache.spark.api.java.function.Function<I,O> compile(TransformationDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenTransformationDescriptoron Apache Spark.- Parameters:
descriptor- describes the transformation functionoperator- that executes theFunction; only required if thedescriptordescribes anExtendedFunctionoperatorContext- contains optimization information for theoperatorinputs- that feed theoperator; only required if thedescriptordescribes anExtendedFunction
-
compile
public <I,O> org.apache.spark.api.java.function.FlatMapFunction<Iterator<I>,O> compile(MapPartitionsDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenMapPartitionsDescriptoron Apache Spark'sAbstractJavaRDDLike.mapPartitions(FlatMapFunction).- Parameters:
descriptor- describes the functionoperator- that executes theFunction; only required if thedescriptordescribes anExtendedFunctionoperatorContext- contains optimization information for theoperatorinputs- that feed theoperator; only required if thedescriptordescribes anExtendedFunction
-
compileToKeyExtractor
public <T,K> FunctionCompiler.KeyExtractor<T,K> compileToKeyExtractor(TransformationDescriptor<T, K> descriptor) Compile a key extraction.- Returns:
- a compiled function
-
compile
public <I,O> org.apache.spark.api.java.function.FlatMapFunction<I,O> compile(FlatMapDescriptor<I, O> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFlatMapFunctionfor deploying the givenFlatMapDescriptoron Apache Spark.- Parameters:
descriptor- describes the functionoperator- that executes theFunction; only required if thedescriptordescribes anExtendedFunctionoperatorContext- contains optimization information for theoperatorinputs- that feed theoperator; only required if thedescriptordescribes anExtendedFunction
-
compile
public <T> org.apache.spark.api.java.function.Function2<T,T, compileT> (ReduceDescriptor<T> descriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunctionfor deploying the givenReduceDescriptoron Apache Spark. -
compile
public <Type> org.apache.spark.api.java.function.Function<Type,Boolean> compile(PredicateDescriptor<Type> predicateDescriptor, SparkExecutionOperator operator, OptimizationContext.OperatorContext operatorContext, ChannelInstance[] inputs) Create an appropriateFunction-based predicate for deploying the givenPredicateDescriptoron Apache Spark.- Parameters:
predicateDescriptor- describes the functionoperator- that executes theFunction; only required if thedescriptordescribes anExtendedFunctionoperatorContext- contains optimization information for theoperatorinputs- that feed theoperator; only required if thedescriptordescribes anExtendedFunction
-