Apache Beam z Pythonem Pardo z wejściem Multi pCollections

Sep 21 2020

Jestem nowy w apache_beam i próbuję opracować potok. Mam 2 pCollection z tym samym formatem i mam inny pCollection z innym formatem. Próbuję wykonać funkcję ParDo, która dla każdego elementu w pCollection 3 w zależności od wartości tego wyszukiwania elementu, jeśli element istnieje w pCollection 1 lub 2, aby uzupełnić dane wyjściowe o informacje o pCollection 1 lub 2. Ale nie wiem jak to zrobić ta funkcja ParDo .

To jest mój kod:

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

A to jest moja funkcja 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

dzięki

Odpowiedzi

Jorge Sep 23 2020 at 13:35

Rozwiązany.

Czy spojrzałeś na boczne wejścia? beam.apache.org/documentation/programming-guide/#side- input Jeśli dobrze rozumiem twoje pytanie, to, czego chcesz, to mieć proces (self, element, pcoll1, pcoll2), boczne dane wejściowe mogą ci w tym pomóc. - Wczoraj Milan Cermak

Dzięki @MilanCermak