Spark reparition()函数增加了每个执行程序的任务数量,如何增加执行程序的数量

时间:2015-09-21 07:23:51

标签: scala apache-spark

我正在研究30gb ram的IBM服务器(12核引擎),我已经提供了所有核心,但仍然只使用了1个核心,我在加载文件时尝试了并且使用命令成功了

val name_db_rdd = sc.textFile("input_file.csv",12)

并且能够为启动作业提供所有12个内核的处理,但我想将中间操作之间的操作拆分为执行程序,以便它可以使用所有12个内核。

图片 - 说明

val new_rdd = rdd.repartition(12)

enter image description here

正如您在此图像中所看到的,只有1个执行程序正在运行,并且重新分区功能将数据拆分为一个执行程序的许多任务。

1 个答案:

答案 0 :(得分:1)

这取决于你是如何启动这项工作的,但是当你启动你的火花工作时,你可能想要在你的命令行中添加--num-executors。

这样的东西
spark-submit
    --num-executors 10 \
    --driver-memory 2g \
    --executor-memory 2g \
    --executor-cores 1 \

可能适合你。

查看Running Spark on Yarn了解更多详细信息,不过他们提到的一些开关是特定于纱线的。