PyCharm+PySpark远程调试的环境配置

@ 2018-03-03

前言:前两天准备用 PythonSpark 上处理量几十G的数据,熟料在利用PyCharm进行PySpark远程调试时掉入深坑,特写此博文以帮助同样深处坑中的bigdata&machine learning fans早日出坑。
Version :Spark 1.5.0、Python 2.7.14

1. 远程Spark集群环境

首先Spark集群要配置好且能正常启动,版本号可以在Spark对应版本的官方网站查到,注意:Spark 1.5.0作为一个比较古老的版本,不支持Python 3.6+;另外Spark集群的每个节点的Python版本必须保持一致。这里只讲如何加入pyspark远程调试所需要修改的部分。在$SPARK_HOME/conf/spark-env.sh中添加一行:

export PYSPARK_PYTHON=/home/hadoop/anaconda2/bin/python2

这里的Python路径是集群上Python版本的路径,我这里是用的anaconda安装的Python2,所以路路径如上。正常启动Spark集群后,在命令行输入pyspark后回车,能正确进入到pyspark shell。

2. 本地PyCharm配置

  1. 首先将Spark集群的spark-1.5.0部署包拷贝到本地机器,并在/etc/hosts(Linux类机器)或C:\Windows\System32….\hosts(Windows机器)中加入Spark集群Master节点的IP与主机名的映射;本地正确安装Spark集群同版本Python;
  2. 安装py4j
    这里写图片描述
  3. 添加spark-1.5.0/python目录
    这里写图片描述
  4. 新建一个Python文件Simple,编辑Edit Configurations添加SPARK_HOME变量
    这里写图片描述
  5. 写一个类似下面的简单测试程序
# -*- encoding: UTF-8 -*-
# @auther:Mars
# @datetime:2018-03-01
from pyspark import SparkContext

sc = SparkContext("spark://master:7077","Simple APP")
logData = sc.textFile("hdfs://master:9000/README.md").cache()

numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()

print("Lines with a: %i, lines with b: %i"%(numAs, numBs))

sc.stop()

运行可以得到看到下图,就OK了~
这里写图片描述
切记,1)本地与Spark集群的版本要一致;2)程序中不要用IP地址(不信可以试试,如果你用IP地址不报错,请告知我~谢谢)

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
PyCharm与Docker的远程环境配置可以通过以下步骤完成: 1. 首先,确保你已经在本地安装了PyCharm和Docker,并且已经在远程服务器上安装了Docker。 2. 打开PyCharm,点击菜单栏的"File",然后选择"Settings"。 3. 在弹出的窗口中,选择"Project: \[项目名称\]",然后选择"Python Interpreter"。 4. 在右侧的面板中,点击齿轮图标,选择"Add"。 5. 在弹出的窗口中,选择"SSH Interpreter",然后点击"Next"。 6. 在"SSH Interpreter"页面,填写远程服务器的连接信息,包括主机名、用户名和密码。如果你使用SSH密钥进行连接,可以选择"Authentication type"为"Key pair",并选择你的私钥文件。 7. 在"Python Interpreter"页面,选择你在远程服务器上已经安装的Python解释器。如果你不确定解释器的路径,可以在远程服务器上运行"which python"命令来查找。 8. 点击"Next",然后点击"Finish"完成配置。 现在,你可以在PyCharm中使用远程服务器上的Docker环境了。你可以通过在PyCharm中打开项目文件,并在远程解释器下运行代码来使用远程服务器上的Docker容器。 #### 引用[.reference_title] - *1* *3* [ubuntu+docker+pycharm环境深度学习远程炼丹使用教程](https://blog.csdn.net/kobepaul123/article/details/127128572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PyCharm+Docker:打造最舒适的深度学习炼丹炉](https://blog.csdn.net/weixin_36896856/article/details/122019631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值