在Windows上,Spark结构化流查询非常慢

时间:2020-09-14 16:45:55

标签: apache-spark spark-structured-streaming

我遇到以下问题:我有一个简单的(Py)Spark应用程序,该应用程序运行结构化流查询,该查询从自定义数据源读取数据;我进行了两个系列的测试,一个测试是将流写入CSV,另一个测试是将其打印到控制台。我在Windows 10主机和Linux一台主机上运行了相同的版本-相同的JVM和Python版本,类似的硬件配置。

结果是,该应用程序需要 15s 来处理Linux上的所有数据,并且需要 5分钟(控制台)至 9分钟(CSV)上的时间Windows。

我的感觉是,在Windows Spark上,IO花费了大量时间,尤其是在编写查询的检查点时。

有人遇到过同样的问题吗? 您对如何改善Windows的性能有何建议?

我正在使用Spark 2.4.7。

谢谢, 亚历山德罗

1 个答案:

答案 0 :(得分:0)

在 Windows 上的 Spark 流中聚合数据帧(10 行)大约需要 5 分钟。将 spark.sql.shuffle.partitions 从默认值 (200) 减少到 1 后,延迟从 5 分钟缩短到 1-2 秒。