仅在主

时间:2016-04-28 19:32:54

标签: python apache-spark mapreduce pyspark

我需要使用spark执行几个python作业。 python代码不使用任何特定于spark的分布式库。它只是使用pandas,scipy和sklearn来操作数据。

我使用命令将作业提交给spark: spark-submit --master spark://ip:7077 python_code.py

当我提交几个这样的作业时,所有作业只在master上执行。主站上的CPU达到100%,但是workeer节点都处于空闲状态。我认为spark的资源管理器会在整个集群中分配负载。

我知道我的代码不使用spark提供的任何分布式库,但有没有办法将完整的作业分发到不同的节点?

1 个答案:

答案 0 :(得分:0)

如果没有spark动作API(collect / take / first / saveAsTextFile),将不会在执行程序上执行任何操作。仅通过提交spark就不可能分发普通的python代码。

您可以检查其他并行处理库,例如dask(https://github.com/dask/dask)。