温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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(_