簡體   English   中英

使用 python 3.5.1 導入 pyspark 錯誤 Pyspark

[英]Import pyspark error Pyspark with python 3.5.1

帶有 python 2.7 的 Pyspark 對我來說很好用。 我安裝了 python 3.5.1(從源代碼安裝)在終端中運行 pyspark 時出現此錯誤

Python 3.5.1 (default, Apr 25 2016, 12:41:28) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "/home/himaprasoon/apps/spark-1.6.0-bin-hadoop2.6/python/pyspark/shell.py", line 30, in <module>
    import pyspark
  File "/home/himaprasoon/apps/spark-1.6.0-bin-hadoop2.6/python/pyspark/__init__.py", line 41, in <module>
    from pyspark.context import SparkContext
  File "/home/himaprasoon/apps/spark-1.6.0-bin-hadoop2.6/python/pyspark/context.py", line 28, in <module>
    from pyspark import accumulators
  File "/home/himaprasoon/apps/spark-1.6.0-bin-hadoop2.6/python/pyspark/accumulators.py", line 98, in <module>
    from pyspark.serializers import read_int, PickleSerializer
  File "/home/himaprasoon/apps/spark-1.6.0-bin-hadoop2.6/python/pyspark/serializers.py", line 58, in <module>
    import zlib
ImportError: No module named 'zlib'

我試過python 3.4.3 ,也很好用

您是否檢查過以確保 zlib 確實存在於您的 python 安裝中? 它應該是默認的,但奇怪的事情發生了。

您是否在 .bashrc 文件中提供了系統 python3.5.1 到“PYSPARK_PYTHON”的確切路徑?

 Welcome to
   ____              __
  / __/__  ___ _____/ /__
 _\ \/ _ \/ _ `/ __/  '_/
/__ / .__/\_,_/_/ /_/\_\   version 2.1.1
   /_/  

Using Python version 3.6.1 (default, Jun 23 2017 16:20:09)
SparkSession available as 'spark'.

這是我的 PySpark 提示顯示的內容。 Apache Spark 版本是 2.1.1

PS:我將 Anaconda3(Python 3.6.1)用於我的日常 PySpark 代碼,並將 PYSPARK_DRIVER 設置為“jupyter”

上面的例子是我的默認系統 Python 3.6

試試conda install -c conda-forge pyspark如果您的問題仍然存在,您可能需要更改您的 ~/.basrc

在以下命令的 shell 類型中啟動 pyspark 之前:export PYSPARK_PYTHON=python3.5(或)export PYSPARK_PYTHON=python3.5

為我工作!

安裝 Python 3.5 后:

1. Install pip

    sudo apt-get install python<VERSION>-pip

2. Install notebook if this module is not installed

3. Install ipython

    sudo apt-get install ipython<VERSION> ipython<VERSION>-notebook

4. Install py4j it's not installed

5. Set environment variables
   export PYSPARK_PYTHON=python<VERSION>
   export PYSPARK_DRIVER_PYTHON=ipython<VERSION>
   export PYSPARK_DRIVER_PYTHON_OPTS=notebook
   export SPARK_HOME=/usr/hdp/current/spark2-client
   export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip

6. If necessary(and if it's installed)
   export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-<VERSION>-src.zip

7. Don't forget to save all this 'export' on ~/.bashrc

8. source ~/.bashrc

9. pyspark

現在,如果一切正常,將運行瀏覽器,並且將出現一個帶有“python3”會話可用的筆記本。 此會話已經有一個 'SparkSession' 對象和 'SparkContext' 對象分別可用於 'spark' 和 'sc' 變量

還嘗試使用 pip3 版本安裝 pyspark,然后在代碼中設置路徑 os.environ['PYSPARK_PYTHON'] = '/usr/bin/python3'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM