如何将PySpark导入Python

如何将PySpark导入Python

问题1、ImportError: No module named pyspark

现象:

  1. 已经安装配置好了PySpark,可以打开PySpark交互式界面;
  2. 在Python里找不到pysaprk。

解决方法:

a.使用findspark

  1. 使用pip安装findspark:pip install findspark
  2. 在py文件中引入findspark:>>> import findspark
  3. >>> findspark.init()
  4. 导入你要使用的pyspark库:>>> from pyspark import *

    • 优点:简单快捷
    • 缺点:治标不治本,每次写一个新的Application都要加载一遍findspark

b.把预编译包中的Python库文件添加到Python的环境变量中

  1. export SPARK_HOME=你的PySpark目录
  2. export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH

    • 优点:一劳永逸
    • 缺点:对于小白可能不太了解环境变量是什么

问题2、ImportError: No module named ‘py4j’

现象:

  1. 已经安装配置好了PySpark,可以打开PySpark交互式界面;
  2. 按照上面的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

参考

  1. Stackoverflow: importing pyspark in python shell
  2. Stackoverflow: Why can’t PySpark find py4j.java_gateway?

你可能感兴趣的:(Python,Data,Mining,python,spark,pyspark)