使用Beam Python SDK阅读复杂的XML

时间:2017-03-21 14:00:52

标签: google-cloud-dataflow apache-beam

我如何最好地为Python SDK编写一个Source,它应该读取嵌套的XML文件并将内容拆分成多行。现有的源代码都在行级上工作,这不是我在XML上下文中所需要的。

它是一堆XML文件,每个文件都会生成一个必须分解为多个记录(订单行,付款等)的交易。

1 个答案:

答案 0 :(得分:1)

您可以使用此模式读取TensorFlow记录作为编写自己的源的模型: https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/tfrecordio.py

您可以使用Python将XML解析为元素。

请记住,来源会写入必须只包含一种元素的PCollection,因此您的来源无法发出一些付款记录和一些订单记录。您需要发出单个事务记录或在每个记录子类型周围创建一个包装器,然后再对内容进行过滤。