haz apache con python pardo con entrada de múltiples pCollections

Sep 21 2020

Soy nuevo en apache_beam y estoy tratando de desarrollar una canalización. Tengo 2 pCollections con el mismo formato y tengo otra pCollection con otro formato. Intento hacer una función ParDo que para cada elemento en pCollection 3 dependiendo de un valor de este elemento busque si el elemento existe en pCollection 1 o 2 para completar la salida con información de pCollection 1 o 2. Pero no sé cómo hacerlo esta función ParDo .

Este es mi codigo:

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

Y esta es mi función 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

Gracias

Respuestas

Jorge Sep 23 2020 at 13:35

Resuelto.

¿Ha mirado las entradas laterales? beam.apache.org/documentation/programming-guide/#side- inputs Si entiendo correctamente tu pregunta, lo que quieres es tener un proceso (self, element, pcoll1, pcoll2), las entradas laterales pueden ayudarte con eso. - Milán Cermak ayer

Gracias @MilanCermak