【发布时间】:2018-10-26 17:08:43
【问题描述】:
我的几个 PCollection(来自不同来源)必须以相同的方式解码。
hits = (msgs | 'Parse' >> beam.Map(parse)
| 'Decode' >> beam.Map(decode_hit))
然后:
dummy_hits = (dummy_msgs | 'Parse' >> beam.Map(parse)
| 'Decode' >> beam.Map(decode_hit))
如果我可以重用这些转换,那将是非常好的,这要归功于我之前给它们提供的名称。我天真地尝试了这个:
dummy_hits = (dummy_msgs | 'Parse'
| 'Decode')
但我的管道无法构建。 (TypeError:需要一个 PTransform 对象,得到 Parse)。
我认为这是可能的,因为管道模块的文档指出:“如果需要应用相同的转换实例,则右移运算符
应用于指定新名称(例如input | "label" >> my_tranform)”
这样做的方法是什么?只有这样吗?
【问题讨论】:
标签: python google-cloud-dataflow apache-beam