如何高效解析 google 云函数中的大 XML?

How to parse big XML in google cloud function efficiently?

我必须从 XML 个大小为数百 MB 的文件中提取数据 Google Cloud Function,我想知道是否有任何最佳实践?

因为我习惯了 nodejs,所以我一直在寻找一些流行的库,比如 fast-xml-parser,但是如果你只想从一个巨大的 xml 中获取特定数据,这似乎很麻烦。我也不确定 XML 太大时是否存在任何性能问题。总的来说,这并不是从巨大的 XML 中解析和提取数据的最佳解决方案。

然后我想知道我是否可以使用 BigQuery 来完成这个任务,我简单地将 xml 转换为 json 并将其放入数据集中,然后我可以在其中使用查询检索我想要的数据。

另一种解决方案可能是使用 python 来完成这项工作,因为它在 parsing 中表现良好并从 XML 中提取数据,所以即使我没有 [=25] 中的经验=] 我想知道这条路是否仍然可以 最佳解决方案?

如果以上内容没有任何意义,或者如果一种解决方案优于另一种解决方案,或者如果有人可以分享任何见解,我将不胜感激!

我建议您查看此 article,其中讨论了如何使用 Python 数据流将 XML 数据加载到 BigQuery 中。我认为这种方法可能适用于您的情况。

基本上他们的建议是:

  • 使用包 xmltodict.
  • 将 xml 解析为 Python 字典
  • 在 BigQuery 中指定输出 table 的架构。
  • 使用 Beam pipeline 获取 XML 文件并使用它来填充 BigQuery table。