暂无说说

pyspark之pycharm远程连接spark

pyspark jiajun 11个月前 (11-27) 391次浏览 0个评论 扫描二维码

一、确保 remote 端 Python、spark 安装正确

参考:pyspark 之 pyspark2.x 环境搭建

二、remote 端安装、设置

1、安装 py4j

pip install py4j

2、添加环境变量(缺这步,貌似 pycharm 找不到pyspark)

vi ~/.bashrc
export SPARK_HOME=/soft/spark
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip

刷新

source ~/.bashrc

注:添加环境变量的时候记得到$SPARK_HOME/python/lib 目录下查看 py4j 包版本,作者的版本是py4j-0.10.7-src.zip

3、新建文件夹,用于保存 pycharm 同步上去的 python 脚本文件

mkdir ~/spark
chmod -R 777 ~/spark

三、本地 Pycharm 设置

File——settings

然后找到 Project:xxx,选中后点右侧的 Project interpreter

点击右上角的扳指图标,选择 add

选择 SSH Interpreter,在右侧填写 Host 跟 Username(登陆 remote 端 linux 的用户名),端口 port 默认 22,然后点 Next

输入密码(登陆 remote 端 linux 系统的密码),然后点 Next。

第 9、10 步,分别点右边文件夹图标,选择 remote 端 linux 上 python 的安装路径跟同步 python 脚本的目录。并选择自动上传项目到 server 端,如 11 所示,然后点 finish,在弹出对话框中选 overwrite。

注:步骤 10Local Path 填写 pycharm 项目所在目录、Remote Path 填写二创建的目录路径。

然后右下角出现连接 Interpreter、更新 Interpreter。。。。。,等待完成再继续下面步骤。

4、pycharm 运行环境配置

点击 Add Configuration

在弹出框中点+号

选择 python

下图框出的 6 部分需要填写

其中点 Enviroment Variables 跟 Path mapping 右边文件夹符号弹出框填写如下:

Enviroment Variables,

JAVA_HOME 跟 PYTHONPATH 为 remote 端$JAVA_HOME 跟$SPARK_HOME/python 的路径。这两个必须填写,否则运行的时候,报pyspark模块找不着,或者 java 环境找不着。

Path mapping 填写本地 pycharm 路径跟 remote 端脚本同步路径。

最后测试一下

from pyspark import SparkContext
sc = SparkContext( 'local', 'test')
textFile = sc.textFile("/home/hadoop/word")
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word,1)).reduceByKey(lambda a, b : a + b)
print(wordCount.collect())

完美执行

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址