pyspark安装python3 (不推荐)

python对应的版本兼容性是个头疼的问题,因此后续再使用pyarrow包的过程中安装出现了不兼容的问题。

所以后续改为使用anaconda3中是适用conda创建虚拟环境来解决这个问题。

参考另外一篇。

1. 下载python3地址:https://www.python.org/ftp/python/3.5.9/Python-3.5.9.tgz

注意:由于spark是2.4.8版本,python3版本只能使用3.5版本,太高版本可能会不兼容
我用3.9版本测试有问题。

解压缩后需要编译安装,指定安装路径到python3目录下:

tar -zxvf Python-3.5.9.tgz
cd Python-3.5.9
./configure -prefix=/home/hadoop/bigdata/python3/
make && make install

2. 添加软连接

sudo ln -s /home/hadoop/bigdata/python3/bin/python3 /usr/bin/python3

注意:必须添加软连接,即使在path中配置环境变量也不行

3. 分发python包

scp -r python3 hadoop@cdh192-50:/home/hadoop/bigdata/

4. 在自己本机上通过ansible在每台机器上执行以下命令来添加软连接(不行就手工一个个敲)

准备好hosts文件,执行以下命令:(存在部分机器成功,部分机器报错的情况)

ansible root -m file -a "src=/home/hadoop/bigdata/python3/bin/python3 dest=/usr/bin/python3 state=link"

不行的,就手工进去执行:

ln -s /home/hadoop/bigdata/python3/bin/python3 /usr/bin/python3

5. 修改spark的环境变量spark-env.sh,添加以下配置:

export PYSPARK_PYTHON=/home/hadoop/bigdata/python3/bin/python3

6. 启动pyspark:

7. 准备测试案例(python执行脚本)

"""SimpleApp.py"""
from pyspark.sql import SparkSession

logFile = "/tmp/logs/LICENSE"

# Should be some file on your system
spark = SparkSession.builder.appName("SimpleApp").getOrCreate()
logData = spark.read.text(logFile).cache()

numAs = logData.filter(logData.value.contains('a')).count()
numBs = logData.filter(logData.value.contains('b')).count()

print("Lines with a: %i, lines with b: %i" % (numAs, numBs))

spark.stop()

上传需要的文件LICENSE到hdfs上的/tmp/logs/文件夹中。

8. 提交spark任务到yarn上

spark-submit --master yarn --deploy-mode client --queue prod SimpleApp.py

执行显示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硅谷工具人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值