【问题标题】:Unable to import SparkContext无法导入 SparkContext
【发布时间】:2017-03-30 19:13:27
【问题描述】:

我正在开发 CentOS,我已经设置了 $SPARK_HOME 并且还在 $PATH 中添加了 bin 的路径。

我可以在任何地方运行pyspark

但是当我尝试创建python 文件并使用此语句时;

from pyspark import SparkConf, SparkContext

它会引发以下错误

python pysparktask.py
    Traceback (most recent call last):
    File "pysparktask.py", line 1, in <module>
      from pyspark import SparkConf, SparkContext
    ModuleNotFoundError: No module named 'pyspark'

我尝试使用pip 再次安装它。

pip install pyspark

它也给出了这个错误。

找不到满足 pyspark 要求的版本(来自版本:) 没有找到 pyspark 的匹配分布

编辑

根据回答,我更新了代码。

错误是

Traceback (most recent call last):
  File "pysparktask.py", line 6, in <module>
    from pyspark import SparkConf, SparkContext
  File "/opt/mapr/spark/spark-2.0.1/python/pyspark/__init__.py", line 44, in <module>
    from pyspark.context import SparkContext
  File "/opt/mapr/spark/spark-2.0.1/python/pyspark/context.py", line 33, in <module>
    from pyspark.java_gateway import launch_gateway
  File "/opt/mapr/spark/spark-2.0.1/python/pyspark/java_gateway.py", line 31, in <module>
    from py4j.java_gateway import java_import, JavaGateway, GatewayClient
ModuleNotFoundError: No module named 'py4j'

【问题讨论】:

标签: python apache-spark pyspark mapr


【解决方案1】:

添加以下环境变量并将 spark 的 lib 路径附加到 sys.path

import os
import sys

os.environ['SPARK_HOME'] = "/usr/lib/spark/"
sys.path.append("/usr/lib/spark/python/")

from pyspark import SparkConf, SparkContext # And then try to import SparkContext.

【讨论】:

  • 在您的情况下,您只需将 spark 的 lib 路径添加到 sys.path
  • 谢谢,根据您的回答,我已经更新了代码,但出现了更多错误。
【解决方案2】:
pip install -e /spark-directory/python/.

此安装将解决您的问题。 而且你必须编辑 bash_profile

export SPARK_HOME="/spark-directory"

【讨论】:

  • 以上答案对我有用,因为我使用的是 MapR,所以我不需要显式安装它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 2021-11-20
  • 2016-08-21
  • 2017-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多