Python Apache Beam将dicts列表转换为多个PCollection元素

时间:2018-04-14 01:11:50

标签: python google-cloud-dataflow apache-beam

作为我的数据流的一部分,我有一个CombineFn,它返回一个dicts列表。我想将每个dict打印为avro文件作为记录。但是,当我将beam.io.WriteToAvro应用于CombineFn输出时,它会失败。

似乎完整的dicts列表被视为单个元素。有什么方法可以让它像对待元素一样对待它吗?

1 个答案:

答案 0 :(得分:1)

希望有更好的方法可以做到这一点,但我可以通过应用以下DoFn来打破列表:

class BreakList(beam.DoFn):
    def process(self, element):
        for e in element:
            yield e