我已经从Spark下载链接下载了源代码,并且我已经使用
构建了它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上构建它。我创建的组装罐错了吗?
我看过AWS EMR Spark "No Module named pyspark"看起来他的汇编JAR显示了一个pyspark类。
Apache Spark文档对此并不完全清楚。(或者我可能弄错了)
请告诉我以下几点:
- 要在yarn上运行pyspark, assembly JAR需要包含pyspark类吗?
- 如果是,我如何将其添加到程序集jar中?
这很正常——程序集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.*")