【问题标题】:Spark master copies the additional libraries to worker automatically?Spark master 会自动将其他库复制到 worker 中吗?
【发布时间】:2016-01-05 17:54:18
【问题描述】:

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

  1. 我将 PYSPARK_PYTHON 设置如下。

PYSPARK_PYTHON=/usr/bin/python2.7

  1. 我只在 Spark master 上安装了 Python 包(SciPy,numpy)。然后我写了如下代码。
从 pyspark 导入 SparkContext 从 sklearn 导入数据集,支持向量机 默认运行(sc): iris = datasets.load_iris() 数字 = [ datasets.load_digits(), datasets.load_digits()] 定义学习(x): clf = svm.SVC(gamma=0.001, C=100.) clf.fit(x.data[:-1], x.target[:-1]) 返回 clf.predict(x.data[-1]) 返回 sc.parallelize(digits).map(learn).collect() 如果 __name__ == '__main__': 打印运行(SparkContext())

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

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

我认为这段代码行不通,因为我没有在 worker 上安装 sci-py。但它有效。这样对吗?我确认此代码也通过 Web-UI 在集群上运行。

【问题讨论】:

  • 检查工作节点是否预先安装了任何python包。使用pip freeze
  • 是全部代码吗?
  • 是的,这就是我在 Spark 上运行的所有代码。

标签: python apache-spark cluster-computing


【解决方案1】:

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

请参阅下面的代码。

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

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

【讨论】:

  • 您应该已经复制了实际代码:该引用已过期并指向不可执行的大括号
猜你喜欢
  • 2016-05-24
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 2021-11-26
  • 2020-05-29
  • 1970-01-01
  • 2013-01-30
  • 2011-08-10
相关资源
最近更新 更多