在Pycharm上編寫WordCount程式
本篇部落格將給大家介紹怎麼在PyCharm上編寫執行WordCount程式。
第一步 下載安裝PyCharm
下載Pycharm
PyCharm的下載地址(Linux版本)。
下載完成後你將得到一個名叫:pycharm-professional-2018.2.4.tar.gz檔案。我們選擇的是正版軟體,學生可申請免費使用。詳細資訊請百度。
安裝PyCharm
執行以下命令解壓檔案:
- cd ~/下載
- tar -xvf pycharm-professional-2018.2.4.tar.gz
這時候我們可以在下載目錄看到一個pycharm-2018.2.4資料夾。接下來我們把它放到/usr/local下,並且重新命名
- sudo mv ./pycharm-2018.2.4 /usr/local/pycharm
然後我們要執行pycharm.sh檔案,完成首次安裝:
- cd /usr/local/pycharm/bin
- ./pycharm.sh
等待之後我們可以看到如下圖介面:
選擇不匯入設定,點選OK。然後我們會看到以下介面:
選擇左下角“Skip Remaining and Set Defaults”,預設設定即可,本人更偏愛白色,所以後面的截圖會跟大家不一樣,但是沒有影響。
配置環境變數
配置環境變數的意義在於我們以後不需要每次都到pycharm資料夾下去啟動程式。
- sudo vim ~/.bashrc
將下面內容複製到檔案的開頭部分。
- #pycharm
- export PyCharm_HOME=/usr/local/pycharm
- export PATH=${PyCharm_HOME}/bin:$PATH
完成以上操作後你就可以在終端直接使用:pycharm.sh命令開啟程式了。
第二步 建立並執行WordCount程式
建立工程檔案
在開始介面選擇“Create New Project”
接下來按照下圖操作,修改圖中兩處紅框內容,project起名為WordCount,python選擇3.6版本,沒有的請安裝。
最後點選Create,完成專案建立。
建立python檔案
右鍵點選WordCount資料夾,選擇New -> Python File,可以看到以下介面,我們取檔名為WordCount。
然後我們在WordCount.py中複製以下程式碼:
- #-*- coding:utf8-*-
- from pyspark import SparkConf, SparkContext
- conf = SparkConf().setAppName("WordCount").setMaster("local")
- sc = SparkContext(conf=conf)
- inputFile = "hdfs://localhost:9000/user/way/word.txt"
- textFile = sc.textFile(inputFile)
- wordCount = textFile.flatMap(lambda line : line.split(" ")).map(lambda word : (word, 1)).reduceByKey(lambda a, b : a + b)
- wordCount.foreach(print)
這時候你會看到PyCharm自動報錯,程式碼中帶紅色波浪線部分為PyCharm提示的錯誤。缺少pyspark等。接下來我們要利用pycharm自動幫我們安裝pyspark。把滑鼠放到帶紅色波浪線的地方,並且將游標點進錯誤的地方,如下圖,會出現一個小紅燈泡。
點選小紅燈泡,選擇“Install package pyspark”,等待程式自動安裝完成,在程式底部可看到正在安裝的提示。
補充說明一下程式碼。
我的inputFile = “hdfs://localhost:9000/user/way/word.txt”
這個檔案是放在hdfs偽分散式檔案系統上的,這時候你必須開啟hdfs檔案系統,相關操作檢視實驗室相關部落格。
你也可以選擇本地檔案inputFile = “file:///home/way/桌面/word.txt”。 當然在這些位置你必須有這個word.txt檔案。
Pycharm執行WordCount
然後你可以右鍵點選程式碼頁面,選擇Run “WordCount”。可以看到以下結果:
提交到spark執行
我們也可以把程式碼提交到Spark執行,具體方法是:
開啟終端,開啟Spark安裝目錄,並執行提交任務命令:
- cd /usr/local/spark/
- ./bin/spark-submit /home/way/PycharmProjects/WordCount/WordCount.py
翻一下我們的輸出資訊可以找到以下結果:
至此我們完成了在pycharm用python編寫wordcount程式的實驗。
本文作者 http://dblab.xmu.edu.cn/blog/2295/