我pyspark使用默认设置在8节点Google dataproc群集上运行.启动后几秒钟我看到30个执行器核心正在运行(如预期的那样):
>>> sc.defaultParallelism
30
一分钟后:
>>> sc.defaultParallelism
2
从那时起,所有操作仅在2个核心上运行:
>>> rng = sc.parallelize(range(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."
Run Code Online (Sandbox Code Playgroud)
是否有一些设置可以保持核心连接而无需解决方法?