0

我想将一个大约 15 GB 的 xml 文件序列化为 avro 并使用 python 3.6 存储在 hadoop 中。我的方法是使用 xml.minidom 在字典类型的变量中加载数据,然后将其保存到 avro 文件。虽然这对于几 kb 大小的示例 xml 文件非常有效,但我仍然可以将整个大 xml 数据存储到该变量吗?我想这种方法存在一些记忆挑战?处理这种情况的最佳方法是什么?

4

1 回答 1

0

序列化的重点是不要一次加载或处理大文件。您需要将文件拆分为较小的“块”,然后将它们序列化。

您可以使用来自 avro.datafile 包的 Avro DataFileReader 或来自 fastavro 包的阅读器。

于 2021-09-13T12:43:56.640 回答