0483-如何指定PySpark的Python运行环境

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github:

https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

文档编写目的

在使用PySpark进行开发时,由于不同的用户使用的Python环境不同,有基于Python2的开发也有基于Python3的开发,这个时候会开发的PySpark作业不能同时兼容Python2和Python3环境从而导致作业运行失败。那Fayson接下来介绍如何在提交PySpark作业时如何指定Python的环境。

本文档就主要以Spark2的为例说明,Spark1原理相同。

测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

3.Python2.7.5和Python3.6

2

准备PySpark示例作业

这里以一个简单的PI PySpark代码来做为示例讲解,示例代码如下:

3

准备Python环境

在这里Fayson准备两个环境Python2和Python3,如下为环境准备步骤:

1.在Anaconda官网下载Python2和Python3的两个安装包,安装过程Fayson这里就不再介绍了

Anaconda3-5.2.0-Linux-x86_64.sh和Anaconda2-5.3.1-Linux-x86_64.sh两个安装包

2.将Python2和Pythonn3两个环境打包,进入到Python2和Python3的安装目录下

使用zip命令将两个环境分别打包

注意:这里是进入到Python的安装目录下进行压缩的,没有带上Python的父目录

3.将准备好的Python2和Python3上传至HDFS

完成以上步骤则准备好了PySpark的运行环境,接下来在提交代码时指定运行环境。

4

指定PySpark运行环境

1.将当前的Spark2 Gateway节点下/etc/spark2/conf/spark-default.conf配置文件拷贝一份

2.在拷贝的spark-default.conf文件中增加如下配置

3.使用spark2-submit命令提交pi.py作业测试运行的Python环境

作业提交成功

作业执行成功

4.查看作业运行的Python环境

5.将执行环境修改为Python3测试

作业提交成功

作业运行成功

查看作业的运行环境

5

总结

在将PySpark的运行环境Python2和Python3打包放在HDFS后,作业启动的过程会比以往慢一些,需要从HDFS获取Python环境。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181216B0NPAG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券