spark指定python版本_最新的spark支持python的什么版本

本文介绍两种执行Python脚本的方法:一是通过spark-submit命令提交到Spark集群运行;二是直接使用Python解释器执行,并解决相关模块导入问题。文章提供具体代码示例及环境配置指导。

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

匿名用户

1级

2017-01-01 回答

两种方法:

使用 spark-submit 解释执行python脚本

使用 python 解释执行python脚本

1. 使用Spark-submit解释执行python脚本

python脚本中需要在开头导入spark相关模块,调用时使用spark-submit提交,示例代码如下:

===========================================================

"""odflow.py"""

from pyspark import SparkContext

fileDir = "/TripChain3_Demo.txt"

# sc = SparkContext("local", "ODFlow")

sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow")

lines = sc.textFile(fileDir)

# python不能直接写多行的lambda表达式,所以要封装在函数中

def toKV(line):

arr = line.split(",")

t = arr[5].split(" ")[1].split(":")

return (t[0]+t[1]+","+arr[11]+","+arr[18],1)

r1 = lines.map( lambda line : toKV(line) ).reduceByKey(lambda a,b: a+b)

# 排序并且存入一个(repartition)文件中

r1.sortByKey(False).saveAsTextFile("/pythontest/output")

===========================================================

发布命令为:

spark-submit \

--master spark://ITS-Hadoop10:7077 \

odflow.py

2. 使用 python 解释执行python脚本

直接用python执行会出现错误:

ImportError: No module named pyspark

ImportError: No module named py4j.java_gateway

缺少pyspark和py4j这两个模块,这两个包在Spark的安装目录里,需要在环境变量里定义PYTHONPATH,编辑~/.bashrc或者/etc/profile文件均可

vi ~/.bashrc # 或者 sudo vi /etc/profile

# 添加下面这一行

export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH

# 使其生效

source ~/.bashrc # 或者 sudo source /etc/profile

然后关闭终端,重新打开,用python执行即可

python odflow.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值