pyspark错误does not exist in jvm error when initializing SparkContext

新手上路,请多包涵

我在 emr 上使用 spark 并编写 pyspark 脚本,尝试时出现错误

from pyspark import SparkContext
sc = SparkContext()

这是错误

File "pyex.py", line 5, in <module>
    sc = SparkContext()   File "/usr/local/lib/python3.4/site-packages/pyspark/context.py", line 118, in __init__
    conf, jsc, profiler_cls)   File "/usr/local/lib/python3.4/site-packages/pyspark/context.py", line 195, in _do_init
    self._encryption_enabled = self._jvm.PythonUtils.getEncryptionEnabled(self._jsc)   File "/usr/local/lib/python3.4/site-packages/py4j/java_gateway.py", line 1487, in __getattr__
    "{0}.{1} does not exist in the JVM".format(self._fqn, name)) py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.getEncryptionEnabled does not exist in the JVM

我发现 这个 答案说明我需要导入 sparkcontext 但这也不起作用。

原文由 thebeancounter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

PySpark 最近发布了 2.4.0,但是没有与这个新版本一致的 spark 稳定版本。尝试降级到 pyspark 2.3.2,这对我来说已经解决了

编辑:为了更清楚,您的 PySpark 版本需要与下载的 Apache Spark 版本相同,否则您可能会遇到兼容性问题

使用检查pyspark的版本

点冻结

原文由 svw 发布,翻译遵循 CC BY-SA 4.0 许可协议

您需要设置以下环境来设置Spark路径和Py4j路径。

例如在 ~/.bashrc 中:

 export SPARK_HOME=/home/hadoop/spark-2.1.0-bin-hadoop2.7
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$SPARK_HOME/bin:$SPARK_HOME/python:$PATH

并在文件顶部使用 findspark

 import findspark
findspark.init()

原文由 Роберт Воропаев 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题