【发布时间】:2017-12-05 23:06:11
【问题描述】:
我想知道如何选择最佳设置来运行 tune me Spark Job。
基本上我只是将一个大的csv 文件读入DataFrame 并计算一些字符串出现。
输入文件超过 500 GB。火花工作似乎太慢了..
终端进度条:
[Stage1:=======> (4174 + 50) / 18500]
NumberCompletedTasks: (4174) 大约需要一小时。
NumberActiveTasks:(50),我相信我可以通过设置来控制。
--conf spark.dynamicAllocation.maxExecutors=50(尝试使用不同的值)。
TotalNumberOfTasks: (18500),为什么这个是固定的?这是什么意思,它只与文件大小有关吗?
由于我正在阅读 csv 几乎没有逻辑,我该如何优化 Spark 作业?
我也尝试过改变:
--executor-memory 10g
--driver-memory 12g
【问题讨论】:
-
这个文件在本地机器上吗?只有一个文件吗?
-
只有一个文件,超过 500GB。在具有 6 个节点的集群中运行
-
那么,这个文件是保存在你的驱动机器上的吧?
标签: csv apache-spark memory pyspark jupyter-notebook