我想序列化一个大约15gb的xml文件到avro,并使用python 3.6存储在hadoop中。我的方法是使用xml加载数据。miniidom在字典类型的变量中,然后将其保存到一个文件中。虽然这对于几个kb大小的示例xml文件非常有效,但我仍然可以将整个大xml数据存储到该变量中吗?我猜这种方法在记忆方面存在一些挑战?处理这种情况的最好方法是什么?
序列化的重点是不要一次加载或处理大文件。你需要把你的文件分割成更小的"块"。然后序列化它们
你可以使用Avro DataFileReader从Avro。数据文件包或读取器从fastavro包。