from py4j.protocol import Py4JError ModuleNotFoundError 错误

本文详细记录了在学习林子雨老师pySpark慕课过程中遇到的从py4j导入Py4JError模块未找到的问题,以及如何通过正确设置环境变量解决此问题。文章提供了完整的环境配置代码示例,包括JAVA_HOME、HADOOP_HOME、HIVE_HOME、SPARK_HOME等关键路径的设置。

from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'报错了!!!
学习林子雨老师的pySpark慕课时,按照给的链接安装时,运行python3 WordCount.py程序发现了from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'的错误了。
vim /etc/profile

export JAVA_HOME=/root/app/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/root/app/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin

export HIVE_HOME=/root/app/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin


export SPARK_HOME=/root/app/spark-3.0.0-bin-hadoop2.7
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_PYTHON=python3

WorCount.py

from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)
logFile = "file:///root/app/spark-3.0.0-bin-hadoop2.7/README.md"
logData = sc.textFile(logFile, 2).cache()
numAs = logData.filter(lambda line: 'a' in line).count()
numBs = logData.filter(lambda line: 'b' in line).count()
print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))

参考:https://blog.csdn.net/sinat_38432876/article/details/106270352

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值