pyspark 上的多个 xml 文件处理

Multiple xml file processing on pyspark

我有多个 xml 文件大约 (15000),我们正在使用 databricks notebook 和 pandas df 使用 XML 树循环处理多个文件。每个文件大约需要 1.67 秒,这相当于所有文件都需要 6 小时。这对于日常工作来说是相当高的。 有没有更好的方法来实现良好的性能?与 pandas Df 相比,PySpark df 可以更快吗?也可以将所有 xml 个文件合并成一个大文件,然后用 pandas 处理它会更快吗?

如有任何建议,我们将不胜感激。 谢谢 阿凡尼

您可以尝试以下步骤来提高性能:

  1. 使用高并发集群:

高并发集群的主要优势在于它们提供 fine-grained 共享以实现最大的资源利用率和最小的查询延迟。

  1. 启用自动缩放。

All-Purpose 集群 - 在创建集群页面上,select Autopilot 选项框中的启用自动缩放复选框:

  1. 作业集群 - 在“配置集群”页面上,select“自动驾驶选项”框中的“启用自动缩放”复选框:

  1. 配置最小和最大工作器。

当集群 运行ning 时,集群详细信息页面显示分配的工作器数量。您可以将分配的worker数量与worker配置进行比较,并根据需要进行调整。

参考 - https://docs.databricks.com/clusters/configure.html#high-concurrency-clusters


编辑 -

Can PySpark df be faster compared to pandas Df?

Pandas 运行 在单台机器上运行,而 PySpark 运行 在多台机器上运行。 PySpark 是最合适的,它可以比 Pandas.

快很多倍(100 倍)地处理操作