pyspark搭建使用
1、安装python、spark、java
环境版本:
debian7
python3.6
java1.8
spark-2.4.0-bin-hadoop2.6
如果有网络可尝试用apt-get与pip下载安装,离线环境可下载使用安装包
可以指定安装pyspark版本
pip3.6 install pyspark==2.4.0
2、问题
2.1、python版本冲突:
“EXCEPTION:Python in worker has different version 2.7 than that in driver 3.6”
解决:
增加环境变量
(指向所有python执行文件,在spark-env.sh中添加似乎无效)
export PYSPARK_PYTHON=/usr/local/bin/python3 export PYSPARK_DRIVER_PYTHON=
/usr/local/bin/python3
其他环境变量
export SPARK_HOME=/home/hadoop/spark-2.4.0-bin-hadoop2.6 export PATH=$PATH:${SPARK_HOME}/bin
2.2、其他修改
修改spark配置文件,增加lzo依赖包等
注意:
- 修改spark配置文件可能不生效,可以启动前export一些对应配置项
- 需要手动添加上lzo、mysql等包到 ${SPARK_HOME}/jars 下(如有用到)
- 版本方面比较敏感,此处使用python3.6 对应 spark2.4版本,其他版本看情况是否匹配
3、使用
此处连接hadoop使用:
from pyspark import SparkContext,SparkConf
sc = SparkContext(conf=SparkConf().setAppName("First App"))
logData = sc.textFile("hdfs://ip:9000/user/hadoop/xxx.xx")
logData.first()