1. 程式人生 > >Mac上pycharm集成pyspark

Mac上pycharm集成pyspark

arm 終端 log 空格 回車 ont conf print rom

前提

  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)

至此,完成。

Mac上pycharm集成pyspark