如何将PySpark导入Python的放实现(2种)

脚本专栏 发布日期:2024/10/22 浏览次数:1

正在浏览:如何将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?

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?