Mac上pycharm集成pyspark
阿新 • • 發佈:2017-12-18
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