时间:2021-05-22
前言:前两天准备用 Python 在 Spark 上处理量几十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配置
首先将Spark集群的spark-1.5.0部署包拷贝到本地机器,并在/etc/hosts(Linux类机器)或C:\Windows\System32….\hosts(Windows机器)中加入Spark集群Master节点的IP与主机名的映射;本地正确安装Spark集群同版本Python;
安装py4j
添加spark-1.5.0/python目录
新建一个Python文件Simple,编辑Edit Configurations添加SPARK_HOME变量
写一个类似下面的简单测试程序
# -*- encoding: UTF-8 -*-# @auther:Mars# @datetime:2018-03-01from pyspark import SparkContextsc = 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地址不报错,请告知我~谢谢)
以上这篇PyCharm+PySpark远程调试的环境配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
当需要远程办公时,使用pycharm远程连接服务器时必要的。PyCharm提供两种远程调试(RemoteDebugging)的方式:配置远程的解释器(remot
Pycharm对openstack进行远程调试,供大家参考,具体内容如下总共分三步:一.安装samba(非必须的)二.安装并配置pycharm三.修改opens
思路与上篇(PyCharm远程调试服务器python代码)是一致的,所以端口转发这部分直接照抄上篇:一、端口转发对于没有公网IP的远程训练服务器,需要先配置端口
最近利用Django开发了一个小网站,但是遇到问题无法调试。查阅资料找到如下方法配置Pycharm对Django进行调试步骤如下:1首先在Pycharm中打开你
本文实例为大家分享了pycharm远程调试openstack的具体代码,供大家参考,具体内容如下1.安装pycharm专业版本文安装pycharm2016.2.