spark2.x由浅入深深到底系列五之python开发spark环境配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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环境配置的主要内容,如果未能解决你的问题,请参考以下文章
spark2.x由浅入深深到底系列六之RDD java api详解二
spark2.x由浅入深深到底系列六之RDD java api详解四
spark2.x由浅入深深到底系列六之RDD java api详解三
spark2.x由浅入深深到底系列六之RDD java api详解一