首页 > 解决方案 > 带有多 pCollections 输入的带有 python pardo 的 apache 梁

问题描述

我是 apache_beam 的新手,我正在尝试开发一个管道。我有 2 个具有相同格式的 pCollection,我有另一个具有其他格式的 pCollection。我尝试为 pCollection 3 中的每个项目执行 ParDo 函数,具体取决于此项目的值,如果项目存在于 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

谢谢

标签: pythonapache-beam

解决方案


解决了。

你看过侧面输入吗?beam.apache.org/documentation/programming-guide/#side-inputs 如果我正确理解您的问题,您想要的是拥有 process(self, element, pcoll1, pcoll2),side input 可能会帮助您。——昨天的米兰塞尔马克

谢谢@MilanCermak


推荐阅读