feixe do apache com python pardo com entrada multi pCollections

Sep 21 2020

Sou novo no apache_beam e estou tentando desenvolver um pipeline. Tenho 2 pCollections com o mesmo formato e tenho outra pCollection com outro formato. Eu tento fazer uma função ParDo que para cada item em pCollection 3 dependendo de um valor deste item pesquise se o item existe em pCollection 1 ou 2 para completar a saída com informações de pCollection 1 ou 2. Mas eu não sei como fazer esta função ParDo .

Este é o meu código:

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

E esta é minha função 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

obrigado

Respostas

Jorge Sep 23 2020 at 13:35

Resolvido.

Você já olhou para as entradas laterais? beam.apache.org/documentation/programming-guide/#side- inputs Se entendi sua pergunta corretamente, o que você quer é ter um processo (self, element, pcoll1, pcoll2), entradas secundárias podem ajudá-lo com isso. - Milan Cermak ontem

Obrigado @MilanCermak