Apache Beam mit Python Pardo mit Multi-pCollections-Eingabe

Sep 21 2020

Ich bin neu in apache_beam und versuche eine Pipeline zu entwickeln. Ich habe 2 pCollections mit demselben Format und ich habe eine andere pCollection mit einem anderen Format. Ich versuche, eine ParDo-Funktion auszuführen, die für jedes Element in pCollection 3 von einem Wert dieser Elementsuche abhängt, ob ein Element in pCollection 1 oder 2 vorhanden ist, um die Ausgabe mit Informationen zu pCollection 1 oder 2 abzuschließen. Ich weiß jedoch nicht, wie diese ParDo-Funktion ausgeführt wird .

Das ist mein Code:

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

Und das ist meine ParDo-Funktion:

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

Vielen Dank

Antworten

Jorge Sep 23 2020 at 13:35

Gelöst.

Haben Sie sich Seiteneingänge angesehen? beam.apache.org/documentation/programming-guide/#side- input Wenn ich Ihre Frage richtig verstehe, möchten Sie einen Prozess (self, element, pcoll1, pcoll2) haben. Seiteneingaben können Ihnen dabei helfen. - Milan Cermak gestern

Danke @MilanCermak