spark2.x由淺入深深到底系列五之python開發spark環境配置
學習spark任何的技術前,請先正確理解spark,可以參考: 正確理解spark
以下是在mac操作系統上配置用python開發spark的環境
一、安裝python
spark2.2.0需要python的版本是Python2.6+ 或者 Python3.4+
可以參考:
http://jingyan.baidu.com/article/7908e85c78c743af491ad261.html
二、下載spark編譯包並配置環境變量
1、在官網中: http://spark.apache.org/downloads.html 下載版本為:spark-2.2.0-bin-hadoop2.6.tgz包
放到本地的某個盤中,然後解壓。
2、設置環境變量:
cd ~
vi .bash_profile
export SPARK_HOME=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.2.0-bin-hadoop2.6
export PATH=$PATH:$SCALA_HOME/bin:$M2_HOME/bin:$JAVA_HOME/bin:$SPARK_HOME/bin
source .bash_profile
3、需要對SPARK_HOME下的bin目錄下的文件執行chmod 744 ./*,否則會報權限不足的錯誤
Window機器應該不用做這步
三、安裝PyCharm
1、從官網: https://www.jetbrains.com/pycharm/download/中下載,然後傻瓜式安裝
四、編寫wordcount.py並運行成功
1、創建一個project
file --> New Project
2、給PyCharm配置PYTHONPATH
Run --> Edit Configurations,配置如下
點上面的“+”,然後填上:
PYTHONPATH=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/:/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib/py4j-0.10.4-src.zip
即將spark安裝包中和python相關的依賴加上
3、py4j-some-version.zip和pyspark.zip加入到項目中
為了能看到源碼,我們需要將項目關聯源碼,關聯的方式如下:
點擊+ Add Content Root將/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib下的兩個zip包加進去
4、編寫spark word count,然後運行成功
創建一個python文件wordcount.py,內容如下:
from pyspark import SparkContext, SparkConf import os import shutil if __name__ == "__main__": conf = SparkConf().setAppName("appName").setMaster("local") sc = SparkContext(conf=conf) sourceDataRDD = sc.textFile("file:///Users/tangweiqun/test.txt") wordsRDD = sourceDataRDD.flatMap(lambda line: line.split()) keyValueWordsRDD = wordsRDD.map(lambda s: (s, 1)) wordCountRDD = keyValueWordsRDD.reduceByKey(lambda a, b: a + b) outputPath = "/Users/tangweiqun/wordcount" if os.path.exists(outputPath): shutil.rmtree(outputPath) wordsRDD.saveAsTextFile("file://" + outputPath) print wordCountRDD.collect()
右擊運行成功
詳細且系統的了解spark core RDD相關的Api可以參考:spark core RDD api原理詳解
spark2.x由淺入深深到底系列五之python開發spark環境配置