PyCharm+PySpark遠(yuǎn)程調(diào)試的環(huán)境配置的方法
前言:前兩天準(zhǔn)備用 Python 在 Spark 上處理量幾十G的數(shù)據(jù),熟料在利用PyCharm進(jìn)行PySpark遠(yuǎn)程調(diào)試時(shí)掉入深坑,特寫(xiě)此博文以幫助同樣深處坑中的bigdata&machine learning fans早日出坑。
Version :Spark 1.5.0、Python 2.7.14
1. 遠(yuǎn)程Spark集群環(huán)境
首先Spark集群要配置好且能正常啟動(dòng),版本號(hào)可以在Spark對(duì)應(yīng)版本的官方網(wǎng)站查到,注意:Spark 1.5.0作為一個(gè)比較古老的版本,不支持Python 3.6+;另外Spark集群的每個(gè)節(jié)點(diǎn)的Python版本必須保持一致。這里只講如何加入pyspark遠(yuǎn)程調(diào)試所需要修改的部分。在$SPARK_HOME/conf/spark-env.sh中添加一行:
export PYSPARK_PYTHON=/home/hadoop/anaconda2/bin/python2
這里的Python路徑是集群上Python版本的路徑,我這里是用的anaconda安裝的Python2,所以路路徑如上。正常啟動(dòng)Spark集群后,在命令行輸入pyspark后回車,能正確進(jìn)入到pyspark shell。
2. 本地PyCharm配置
首先將Spark集群的spark-1.5.0部署包拷貝到本地機(jī)器,并在/etc/hosts(Linux類機(jī)器)或C:\Windows\System32….\hosts(Windows機(jī)器)中加入Spark集群Master節(jié)點(diǎn)的IP與主機(jī)名的映射;本地正確安裝Spark集群同版本Python;
安裝py4j
添加spark-1.5.0/python目錄
新建一個(gè)Python文件Simple,編輯Edit Configurations添加SPARK_HOME變量
寫(xiě)一個(gè)類似下面的簡(jiǎn)單測(cè)試程序
# -*- 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()
運(yùn)行可以得到看到下圖,就OK了~
切記,1)本地與Spark集群的版本要一致;2)程序中不要用IP地址(不信可以試試,如果你用IP地址不報(bào)錯(cuò),請(qǐng)告知我~謝謝)
以上這篇PyCharm+PySpark遠(yuǎn)程調(diào)試的環(huán)境配置的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- pycharm利用pyspark遠(yuǎn)程連接spark集群的實(shí)現(xiàn)
- Win10搭建Pyspark2.4.4+Pycharm開(kāi)發(fā)環(huán)境的圖文教程(親測(cè))
- windows下pycharm搭建spark環(huán)境并成功運(yùn)行 附源碼
- PyCharm搭建Spark開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)步驟
- pycharm編寫(xiě)spark程序,導(dǎo)入pyspark包的3中實(shí)現(xiàn)方法
- PyCharm搭建Spark開(kāi)發(fā)環(huán)境實(shí)現(xiàn)第一個(gè)pyspark程序
- pycharm連接spark教程
相關(guān)文章
淺談matplotlib.pyplot與axes的關(guān)系
這篇文章主要介紹了淺談matplotlib.pyplot與axes的關(guān)系,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python 實(shí)現(xiàn)list或string按指定分段
今天小編就為大家分享一篇python 實(shí)現(xiàn)list或string按指定分段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python實(shí)現(xiàn)的文本對(duì)比報(bào)告生成工具示例
這篇文章主要介紹了Python實(shí)現(xiàn)的文本對(duì)比報(bào)告生成工具,涉及Python基于difflib模塊實(shí)現(xiàn)對(duì)文本內(nèi)容進(jìn)行對(duì)比的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05使用Python-OpenCV消除圖像中孤立的小區(qū)域操作
這篇文章主要介紹了使用Python-OpenCV消除圖像中孤立的小區(qū)域操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07PYTHON發(fā)送郵件YAGMAIL的簡(jiǎn)單實(shí)現(xiàn)解析
這篇文章主要介紹了PYTHON發(fā)送郵件YAGMAIL的簡(jiǎn)單實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類,這是基礎(chǔ)學(xué)習(xí)的第三篇內(nèi)容,小編已把前兩篇鏈接放在下面,需要學(xué)習(xí)的同學(xué)可以參考一下2022-05-05Python 通過(guò)pip安裝Django詳細(xì)介紹
這篇文章主要介紹了Python 通過(guò)pip安裝Django詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-04-04