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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值