我pyspark
使用默认设置在 8 节点 Google dataproc 集群上运行。启动几秒钟后,我看到 30 个执行程序核心正在运行(如预期的那样):
>>> sc.defaultParallelism 30
一分钟后:
>>> sc.defaultParallelism 2
从那时起,所有操作仅在 2 个核心上运行:
>>> rng = sc.parallelize(范围(1,1000000)) >>> rng.cache() >>> rng.count() >>> rng.getNumPartitions() 2
如果我rng.cache()
在核心仍然连接的情况下运行,它们会保持连接并且作业会被分配。
检查监控应用程序(主节点上的端口 4040)显示执行程序已被删除:
Executor 1
Removed at 2016/02/25 16:20:14
Reason: Container container_1456414665542_0006_01_000002 exited from explicit termination request."
是否有一些设置可以在没有变通方法的情况下保持核心连接?