Spark master会自动将其他库复制到worker吗?

时间:2015-10-08 08:13:16

标签: python apache-spark cluster-computing

我通过独立群集配置构建了Spark群集。

  1. 我将PYSPARK_PYTHON设置如下。
  2.   

    PYSPARK_PYTHON =的/ usr /斌/ python2.7

    1. 我只在Spark master上安装了Python软件包(SciPy,numpy)。然后我编写了如下代码。
    2.     from pyspark import SparkContext
          from sklearn import datasets, svm
      
          def run(sc):
              iris = datasets.load_iris()
              digits = [ datasets.load_digits(), datasets.load_digits()]
      
              def learn(x):
                  clf = svm.SVC(gamma=0.001, C=100.)
                  clf.fit(x.data[:-1], x.target[:-1] )
                  return clf.predict(x.data[-1])
      
              return sc.parallelize(digits).map(learn).collect()
      
          if __name__ == '__main__':
              print run(SparkContext() )
      

      我使用spark-submit将此代码提交给spark master。

      spark-submit --master spark://192.168.18.31:7077 /master/scipy_example.py
      

      我认为这段代码不起作用,因为我没有在工作人员上安装sci-py。但它的确有效。这样对吗?我确认这个代码也是通过Web-UI在集群上运行的。

1 个答案:

答案 0 :(得分:0)

我发现spark-submit将python库从master复制到worker。

请参阅下面的代码。

https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala#L485

我也听说它非常受欢迎但没有记录的功能。