CDAP 是否支持 SparkCompute 和 SparkSink 插件中的多个输入?
Does CDAP support multiple inputs in SparkCompute and SparkSink plugins?
我正在寻找一种实现 SparkCompute(或 SparkSink)插件的方法,该插件使用多个输入。
查看界面,SparkCompute
和SparkSink
插件都被限制只消耗一个。
这是摘录自io.cdap.cdap.etl.api.batch.SparkCompute
/**
* Transform the input and return the output to be sent to the next stage in the pipeline.
*
* @param context {@link SparkExecutionPluginContext} for this job
* @param input input data to be transformed
* @throws Exception if there is an error during this method invocation
*/
public abstract JavaRDD<OUT> transform(SparkExecutionPluginContext context, JavaRDD<IN> input) throws Exception;
(方法签名中只有一个JavaRDD<IN>
参数)
有什么方法可以访问所有输入(通过 SparkExecutionPluginContext context
或类似的方式)?
在 CDAP 管道中,当一个阶段有多个输入阶段时,它会接收所有传入数据的联合。这就是管道框架不允许您创建传入模式不同的管道的原因。唯一的例外是 joiner 插件。所以它正在处理多个输入,但不是以一种让你区分它们的方式。
我正在寻找一种实现 SparkCompute(或 SparkSink)插件的方法,该插件使用多个输入。
查看界面,SparkCompute
和SparkSink
插件都被限制只消耗一个。
这是摘录自io.cdap.cdap.etl.api.batch.SparkCompute
/**
* Transform the input and return the output to be sent to the next stage in the pipeline.
*
* @param context {@link SparkExecutionPluginContext} for this job
* @param input input data to be transformed
* @throws Exception if there is an error during this method invocation
*/
public abstract JavaRDD<OUT> transform(SparkExecutionPluginContext context, JavaRDD<IN> input) throws Exception;
(方法签名中只有一个JavaRDD<IN>
参数)
有什么方法可以访问所有输入(通过 SparkExecutionPluginContext context
或类似的方式)?
在 CDAP 管道中,当一个阶段有多个输入阶段时,它会接收所有传入数据的联合。这就是管道框架不允许您创建传入模式不同的管道的原因。唯一的例外是 joiner 插件。所以它正在处理多个输入,但不是以一种让你区分它们的方式。