python - 带有多 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
谢谢
解决方案
解决了。
你看过侧面输入吗?beam.apache.org/documentation/programming-guide/#side-inputs 如果我正确理解您的问题,您想要的是拥有 process(self, element, pcoll1, pcoll2),side input 可能会帮助您。——昨天的米兰塞尔马克
谢谢@MilanCermak
推荐阅读
- python - 如何在 Python 中访问超类方法的局部变量
- android - 在后按时创建警报框
- scala - 以编程方式从 Google 电子表格中删除空单元格以避免 5000000 单元格限制错误
- web - 在 IE11 的 Web Worker 中使用 URL.createObjectURL
- python - 计算数据框中列表中每个单词的单词频率
- pandas - 在熊猫中使用 groupBy 后每月对数据进行排序
- python-2.7 - ld 在arch linux上构建时找不到与python模块相关的函数
- java - ListView 以编程方式添加列
- spring-data-jpa - JPA 存储库本机查询忽略 ::timestamptz
- haskell - `[ (x !! 0, x !! 1) | x <- mapM (const ['A', 'B', 'C'] ) [1..2], head x < head (tail x) ]` 有效吗?