温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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代码来做为示例讲解,示例代码如下:
from __future__ import print_function
import sys
from random import random
from operator import add
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("PythonPi") \
.getOrCreate()
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
n = 100000 * partitions
def f(_)

本文档详细介绍了如何在提交PySpark作业时指定Python2或Python3环境,以确保作业兼容不同Python版本。通过创建并打包Anaconda环境,上传到HDFS,然后在`spark-default.conf`中配置`spark.pyspark.python`和`spark.yarn.dist.archives`,即可在Spark Executor和Driver中使用特定Python环境。作业启动时会从HDFS获取环境,可能会稍慢。
最低0.47元/天 解锁文章
3088

被折叠的 条评论
为什么被折叠?



