Луч apache с python pardo с несколькими входами pCollections

Sep 21 2020

Я новичок в apache_beam и пытаюсь разработать конвейер. У меня есть 2 pCollections с одинаковым форматом и еще одна pCollection с другим форматом. Я пытаюсь сделать функцию ParDo, которая для каждого элемента в pCollection 3 в зависимости от значения этого элемента поиска, если элемент существует в pCollection 1 или 2, чтобы завершить вывод с информацией о pCollection 1 или 2. Но я не знаю, как это сделать с помощью этой функции ParDo .

Это мой код:

output = (
      pCollection1, pCollection2, pCollection3
      | 'ParDo function' >> beam.ParDo(SearchData()))

И это моя функция ParDo:

class SampleScores(beam.DoFn):
    def process(self,element):
      
      # here I don't know how call a collection because I have only a "element"

      return xxx

Благодарность

Ответы

Jorge Sep 23 2020 at 13:35

Решено.

Вы смотрели на боковые входы? beam.apache.org/documentation/programming-guide/#side- inputs Если я правильно понимаю ваш вопрос, вы хотите иметь процесс (self, element, pcoll1, pcoll2), боковые входы могут вам в этом помочь. - Милан Чермак вчера

Спасибо @MilanCermak