我在Spark的驱动程序节点上运行4个并行线程,它们执行相同的操作,但具有不同的数据。 Spark会并行执行所有提交的作业,直到存在连接为止。那时,连接动作是顺序执行的。 这是SparkUI显示的内容:
我可以做些什么使连接并行运行吗?
我用来启动该过程的命令是:
spark-submit
--master local[16]
--class ...
--driver-memory 11G
--conf spark.default.parallelism=4
--conf spark.sql.shuffle.partitions=4
我只使用4个分区,因为我处理的数据非常小(2-3MB)。
目前,我正在本地模式下进行测试。
在生产中,我将使用EMR群集。
答案 0 :(得分:0)
问题是我在加入后立即保留了数据。删除持久性之后,联接将并行进行。