pyspark 连接 spark 集群部署问题

2020-01-15 14:59:21 +08:00
 marin1995
请教一下各位大佬,我现在使用 pysaprk 做 sparkstreaming 处理 kafka 的数据。程序单机跑的时候没有问题,连接集群的时候就会报错 no module named "xxxx",连接方式是在程序是设置 setMaster(""spark://host:port)。是不是还要配置其他环境变量呢?麻烦大佬指点一下,有偿~
3138 次点击
所在节点    Python
3 条回复
besttime
2020-01-15 16:11:14 +08:00
pyspark 的 job 提交到 spark 后,会调用 spark 所在环境的 python 解释器,而这个报错的问题就是在于 spark 所在的环境的 python 解释器缺乏你使用的类库。
fzy0728
2020-01-15 17:01:52 +08:00
xiaoxuxu
2020-01-15 19:01:59 +08:00
可以用 pyenv 建个 Python 环境,然后打成压缩包。运行 spark-submit 的时候用--archives 传这个压缩包,并且设置 PYSPARK_DRIVER_PYTHON、PYSPARK_PYTHON 为压缩包内 Python 可执行文件的相对路径,大概是这样:

PYSPARK_PYTHON=./python-env/bin/python PYSPARK_DRIVER_PYTHON=./python-env/bin/python spark-submit --master yarn --deploy-mode cluster --archives python-env.zip#python-env

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX