Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法导入SparkContext_Python_Apache Spark_Pyspark_Mapr - Fatal编程技术网

Python 无法导入SparkContext

Python 无法导入SparkContext,python,apache-spark,pyspark,mapr,Python,Apache Spark,Pyspark,Mapr,我正在CentOS上工作,我已经设置了$SPARK\u HOME,并且在$path中添加了bin的路径 我可以在任何地方运行pyspark 但是当我尝试创建python文件并使用此语句时 from pyspark import SparkConf, SparkContext 它抛出以下错误 python pysparktask.py Traceback (most recent call last): File "pysparktask.py", line 1, in <

我正在CentOS上工作,我已经设置了
$SPARK\u 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'
它也给出了这个错误

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

编辑

根据答案,我更新了代码

错误是

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'
回溯(最近一次呼叫最后一次):
文件“pysparktask.py”,第6行,在
从pyspark导入SparkConf,SparkContext
文件“/opt/mapr/spark/spark-2.0.1/python/pyspark/_init__.py”,第44行,在
从pyspark.context导入SparkContext
文件“/opt/mapr/spark/spark-2.0.1/python/pyspark/context.py”,第33行,在
从pyspark.java_网关导入启动_网关
文件“/opt/mapr/spark/spark-2.0.1/python/pyspark/java_gateway.py”,第31行,在
从py4j.java_网关导入java_导入,JavaGateway,GatewayClient
ModuleNotFoundError:没有名为“py4j”的模块

添加以下环境变量,并将spark的lib path附加到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 path附加到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.
此安装将解决您的问题。 您必须编辑bash_配置文件

export SPARK_HOME="/spark-directory"
此安装将解决您的问题。 您必须编辑bash_配置文件

export SPARK_HOME="/spark-directory"

在您的情况下,您只需要将spark的lib路径添加到sys.path谢谢,根据您的回答,我已经更新了代码,但是还出现了一些错误。在您的情况下,您只需要将spark的lib路径添加到sys.path谢谢,根据您的回答,我已经更新了代码,但是还有一些错误。我认为对于更新代码后出现的错误,您可以检查我认为对于更新代码后出现的错误,您可以检查上面的答案对我有效,因为我在使用MapR,所以我不需要显式安装。上面的答案对我有效,因为我在使用MapR,所以我不需要显式地安装它。