您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關PyCharm+PySpark如何配置遠程調試的環境,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
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-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地址
關于“PyCharm+PySpark如何配置遠程調試的環境”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。