您好,登錄后才能下訂單哦!
今天小編給大家分享一下pycharm如何利用pyspark實現遠程連接spark集群的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
由于工作需要,利用spark完成機器學習。因此需要對spark集群進行操作。所以利用pycharm和pyspark遠程連接spark集群。這里記錄下遇到的問題及方法。
主要是參照下面的文獻完成相應的內容,但是具體問題要具體分析。
1.1 軟件配置
spark2.3.3, hadoop2.6, python3
1.2 spark配置
Spark集群的每個節點的Python版本必須保持一致。在每個節點的$SPARK_HOME/conf/spark-env.sh中添加一行:具體看你的安裝目錄。
export PYSPARK_PYTHON=/home/hadoop/anaconda2/bin/python3
此步驟就是將python添加到spark的配置中。
此時,在服務器命令行輸入pyspark時,可以正常進入spark。
1.3本地配置
1.3.1 首先將spark2.3.3從服務器拷貝到本地。
注意: 由于我集群安裝的是spark-2.3.3-bin-without-hadoop。但是拷貝到本地后,總是報錯Java gateway process… 。同時我將hadoop2.6,的包也從服務器拷貝到本地加載到程序中,同樣報錯。
最后,直接從spark的官網中,下載了spark-2.3.3-bin-hadoop2.6,這回就可以了。
pyspark的版本與spark的版本最好對應。比如pyspark2.3.3,spark2.3.3
# os.environ['SPARK_HOME'] = r"F:ig_dataspark-2.3.3-bin-without-hadoop"(無用)
os.environ['SPARK_HOME'] = r"F:ig_dataspark-2.3.3-bin-hadoop2.6"(有用)
# os.environ["HADOOP_HOME"] = r"F:ig_datahadoop-2.6.5"(無用)
# os.environ['JAVA_HOME'] = r"F:Javajdk1.8.0_144"(無用)
1.3.2
C:WindowsSystem32….hosts(Windows機器)中加入Spark集群Master節點的IP與主機名的映射。需要管理員權限修改。
其中的spark_cluster就是對于Master的IP的映射名。(直接寫IP一樣可以,映射名是為了方便)
1.3.3
添加剛剛下載解壓好的spark的python目錄到pycharm的project structure
1.3.4
新建py文件,編輯Edit Configurations添加SPARK_HOME變量
注意: 在實際中,這個不添加好像也可以。只需要在程序中加載了spark_home.比如os.envion(…spark…)
import os
from pyspark import SparkContext
from pyspark import SparkConf
# os.environ['SPARK_HOME'] = r"F:ig_dataspark-2.3.3-bin-without-hadoop"
os.environ['SPARK_HOME'] = r"F:ig_dataspark-2.3.3-bin-hadoop2.6"
# os.environ["HADOOP_HOME"] = r"F:ig_datahadoop-2.6.5"
# os.environ['JAVA_HOME'] = r"F:Javajdk1.8.0_144"
print(0)
conf = SparkConf().setMaster("spark://spark_cluster:7077").setAppName("test")
sc = SparkContext(conf=conf)
print(1)
logData = sc.textFile("file:///opt/spark-2.3.3-bin-without-hadoop/README.md").cache()
print(2)
print("num of a",logData)
sc.stop()
以上就是“pycharm如何利用pyspark實現遠程連接spark集群”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。