Mac上pycharm集成pyspark


前提

  1.已經安裝好spark。我的是spark2.2.0。

  2.已經有python環境,我這邊使用的是python3.6。

 

一、安裝py4j

使用pip,運行如下命令:

  

pip install py4j

使用conda,運行如下命令:

conda install py4j

二、使用pycharm創建一個project。

創建過程中選擇python的環境。進入之后點擊Run--》Edit Configurations--》Environment variables.

添加PYTHONPATH和SPARK_HOME,其中PYTHONPATH為spark安裝路徑中的python目錄,SPARK_HOME為spark安裝目錄。

然后點ok,到第一個頁面點Apply,ok。

三、點Preferences --》Project Structure--》Add Content Root

添加spark安裝路徑中python目錄下的lib里面的py4j-0.10.4-src.zip和pyspark.zip。然后Apply,ok。

四、編寫pyspark wordcount測試一下。我這邊使用的是pyspark streaming程序。

代碼如下:

WordCount.py

from pyspark import SparkContext
from pyspark.streaming import StreamingContext

# Create a local StreamingContext with two working thread and batch interval of 1 second

sc = SparkContext("local[2]", "NetWordCount")

ssc = StreamingContext(sc, 1)

# Create a DStream that will connect to hostname:port, like localhost:9999

lines = ssc.socketTextStream("localhost", 9999)

# Split each line into words

words = lines.flatMap(lambda line: line.split(" "))

# Count each word in each batch
pairs = words.map(lambda word: (word, 1))
wordCounts = pairs.reduceByKey(lambda x, y: x + y)

# Print the first ten elements of each RDD generated in this DStream to the console
wordCounts.pprint()

ssc.start()             # Start the computation
ssc.awaitTermination()  # Wait for the computation to terminate

先到終端運行如下命令:

$ nc -lk 9999

接着可以在pycharm中右鍵運行一下。然后在上面這個命令行中輸入單詞以空格分割:

我輸入如下:

a b a d d d d

然后摁回車。可以看到pycharm中輸出如下結果:

 

Time: 2017-12-17 22:06:19
-------------------------------------------
('b', 1)
('d', 4)
('a', 2)

至此,完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM