使用 Beam Python SDK 阅读复杂的 XML

Read complex XML with Beam Python SDK

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

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

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

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

请记住,源将写入只能包含一种元素类型的 PCollection,因此您的源不能发出某些付款记录和某些订单记录。您需要发出单个交易记录或围绕每个记录子类型创建一个包装器并稍后过滤内容。