Поддерживает ли CDAP несколько входов в плагинах SparkCompute и SparkSink? - PullRequest
1 голос
/ 22 мая 2019

Я ищу способ реализации плагина 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 или что-то подобное)?

1 Ответ

1 голос
/ 24 мая 2019

В конвейере CDAP, когда каскад имеет несколько входных каскадов, он получает объединение всех входящих данных.Это причина того, что структура конвейера не позволит вам создать конвейер, в котором входящие схемы отличаются.Единственным исключением являются плагины для столяров.Таким образом, он обрабатывает несколько входных данных, но не так, чтобы вы могли различать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...