【发布时间】:2020-02-22 20:36:30
【问题描述】:
我正在使用内置 Hadoop 的 PySpark 2.4.4 处理一个大型数据集。数据集被拆分为多个压缩的 CSV 文件,我正在尝试使用 PySpark 的 DataFrames 报告各种列的聚合计数。 PySpark 处理一切都很漂亮,直到我要求它使用
将 DataFrame 写入磁盘df.write.csv("out.csv")
这导致以下警告淹没终端
WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will not spill but return 0.
我尝试使用spark.executor.memory 属性增加执行程序的内存大小;但是,错误仍然存在。我不知道是否可以忽略此警告,或者我是否需要在信任报告结果之前进行更改。
here 有两个类似问题的答案,但我对它们的深度不满意。 Fredz0r 的答案只是引用了another answer,解释了溢出和随机播放之间的区别,但似乎没有解决消息的...Will not spill... 部分。其余答案的措辞好像这是一个严重的警告,但没有给出如何解决它的建议。
【问题讨论】:
标签: python apache-spark pyspark pyspark-dataframes