【问题标题】:Not able to find pyspark in spark-assembly-1.4.0-hadoop2.6.0.jar在 spark-assembly-1.4.0-hadoop2.6.0.jar 中找不到 pyspark
【发布时间】:2015-10-03 11:01:22
【问题描述】:
我已经从Spark download link 下载了源代码,并且我使用它构建了它
build/mvn -Pyarn -Phadoop-2.6 -Phive -Dhadoop.version=2.6.0 -DskipTests clean package
但是当我这样做时jar -tf spark-assembly-1.4.0-hadoop2.6.0.jar |grep pyspark
它没有显示任何结果。我正在 CentOS 6.6 上构建它。我创建的程序集 jar 错误吗?
我查看了 AWS EMR Spark "No Module named pyspark",看起来他的程序集 JAR 显示了一个 pyspark 类。
Apache Spark 文档对此并不完全清楚。(或者我可能弄错了)
请多多指教:
- 要在 yarn 上运行 pyspark,程序集 JAR 是否需要包含 pyspark 类?
- 如果是,如何将其添加到程序集 jar 中?
【问题讨论】:
标签:
apache-spark
hadoop-yarn
pyspark
【解决方案1】:
这很正常——程序集 jar 没有任何 pyspark 类。
编辑:
您可以通过搜索py4j 中的java_import 函数找到pyspark 使用的jar。看起来这些罐子是:
# From java_gateway.py
java_import(gateway.jvm, "org.apache.spark.SparkConf")
java_import(gateway.jvm, "org.apache.spark.api.java.*")
java_import(gateway.jvm, "org.apache.spark.api.python.*")
java_import(gateway.jvm, "org.apache.spark.mllib.api.python.*")
java_import(gateway.jvm, "org.apache.spark.sql.*")
java_import(gateway.jvm, "org.apache.spark.sql.hive.*")
java_import(gateway.jvm, "scala.Tuple2")
# From context.py:
java_import(gw.jvm, "org.apache.spark.streaming.*")
java_import(gw.jvm, "org.apache.spark.streaming.api.java.*")
java_import(gw.jvm, "org.apache.spark.streaming.api.python.*")