遠端Spark+Python+Pycharm操作指南

Javy Wang發表於2018-10-24

首先說明一下,本文適合Windows系統遠端登入Ubuntu伺服器,使用Pycharm編寫Spark應用程式。操作過程參考了很多網上教程,連結都在文中給出。

1. 準備工作

1.1 安裝MobaXterm

這是一款很適合Windows系統的遠端控制工具,具體介紹和使用可以參考這篇文章

1.2 安裝Hadoop

參考教程,裡面包含了Hadoop和JDK的安裝和使用的詳細步驟。

1.3 安裝spark

參考教程,我安裝的版本是 spark 2.1.3。

2. 程式設計初步(無Hadoop)

2.1 Pyspark 互動模式

參考教程第三部分。

2.2 Spark Python API 模式

參考教程第四部分。

3. 程式設計進階(有Hadoop)

3.1 Pyspark 互動模式

參考教程,裡面介紹非常詳細。

3.2 Spark Python API 模式

只需要在2.2的操作之前,按照3.1中載入HDFS檔案的步驟操作一遍就行。

4. Pycharm開發

4.1 環境配置

在MobaXterm裡面建立一個新的ssh遠端連結,連上Ubuntu主機後,進入shell命令列介面。
輸入以下命令開啟Pycharm (Pycharm的安裝可以參考這個教程)。

$ python-community

開啟PyCharm後,建立一個新的Project。
然後選擇“Run” ->“Edit Configurations” ->“Python”->“Environment variables” ,點選右邊的資料夾圖形,增加SPARK_HOME目錄與PYTHONPATH目錄,目錄與 ~/.bashrc 裡面的環境變數配置保持一致。
在這裡插入圖片描述
最後選擇“File” ->“Settings” ->“Project:自己的工程名” ->“Project Structure”,後邊的“+ Add Content Root”,將/usr/local/spark/python/lib 下的兩個檔案 pysaprk.zip 和 py4j-0.10.7-src.zip都新增進來。
在這裡插入圖片描述
這樣環境配置就完成了,可以在pycharm裡面使用spark啦。
注意,每次建立新的工程時都要按照這個步驟操作一遍。

4.2 在Pycharm裡執行Spark應用程式

在pycharm裡自己的工程資料夾下,建立一個新python檔案。這裡要寫一個統計詞頻的應用程式,檔案命名為“wordcount.py”。
將下面的程式碼複製到檔案中去,注意檔案路徑。

from pyspark import SparkContext
sc = SparkContext('local', 'test')
textFile = sc.textFile("file:///usr/local/spark/code/wjw/wordcount/word.txt")
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
wordCount.foreach(print)

如果沒有的話自己建立一個word.txt檔案,在裡面隨意輸入一些英文。
我的是這個樣子的:

hello wjw!
this is your first spark test.
is it amazing?
enjoy your journey!

執行檔案,看看輸出結果。第一次執行,前面可能會有一大推文字,最後出來的是統計結果。
我的輸出結果如下:

('', 1)
('this', 1)
('your', 2)
('enjoy', 1)
('wjw!', 1)
('test.', 1)
('is', 2)
('spark', 1)
('amazing?', 1)
('journey!', 1)
('hello', 1)
('it', 1)
('first', 1)

OK,到這裡就結束啦!

相關文章