1. 程式人生 > 程式設計 >如何將PySpark匯入Python的放實現(2種)

如何將PySpark匯入Python的放實現(2種)

方法一

使用findspark

使用pip安裝findspark:

pip install findspark

在py檔案中引入findspark:

>>> import findspark
>>> findspark.init()

匯入你要使用的pyspark庫

>>> from pyspark import *

優點:簡單快捷
缺點:治標不治本,每次寫一個新的Application都要載入一遍findspark

方法二

把預編譯包中的Python庫檔案新增到Python的環境變數中

export SPARK_HOME=你的PySpark目錄
export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH

優點:一勞永逸
缺點:對於小白可能不太瞭解環境變數是什麼

問題1、ImportError: No module named pyspark

現象:

  • 已經安裝配置好了PySpark,可以開啟PySpark互動式介面;
  • 在Python裡找不到pysaprk。

參照上面解決

問題2、ImportError: No module named ‘py4j'

現象:

已經安裝配置好了PySpark,可以開啟PySpark互動式介面;
按照上面的b方式配置後出現該問題。
解決方法:

把py4j新增到Python的環境變數中

export PYTHONPATH= $SPARK_HOME/python/lib/py4j-x.xx-src.zip:$PYTHONPATH

注意:這裡的py4j-x.xx-src.zip根據自己電腦上的py4j版本決定。

測試成功的環境

  • Python: 3.7、2.7
  • PySpark: 1.6.2 - 預編譯包
  • OS: Mac OSX 10.11.1

參考
Stackoverflow: importing pyspark in python shell
Stackoverflow: Why can't PySpark find py4j.java_gateway?

到此這篇關於如何將PySpark匯入Python的放實現(2種)的文章就介紹到這了,更多相關PySpark匯入Python內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!