我必须从XML文件中提取数据,在谷歌云功能的大小为几百MB,我想知道是否有任何最佳实践?
因为我习惯了nodejs,我正在寻找一些流行的库,比如快速xml解析器,但如果你只想从一个巨大的xml中获得特定的数据,它似乎很麻烦。我也不确定当XML太大时是否有任何性能问题。总的来说,这感觉不是从庞大的xml中解析和提取数据的最佳解决方案。
然后我想知道我是否可以使用BigQuery来完成这个任务,我简单地将xml转换为json并将其扔到一个数据集中,然后我可以使用查询来检索我想要的数据。
另一个解决方案可能是使用python的工作,因为它是很好的解析和从XML提取数据,所以即使我没有python的经验,我想知道如果这条路径仍然可以最好的解决方案是什么?
如果以上任何内容都没有意义,或者如果一个解决方案优于另一个解决方案,或者如果任何人可以分享任何见解,我将非常感激!
我建议您查看这篇文章,其中讨论了如何使用Python Dataflow将XML数据加载到BigQuery中。我认为这种方法可能对你的情况有用。
基本上他们的建议是:
- 使用
xmltodict
包将xml解析为Python字典。 - 指定BigQuery中输出表的模式。
- 使用Beam管道获取XML文件并使用它填充BigQuery表。