spark python教程_spark2.x由浅入深深到底系列七之python开发spark环境配置

课程咨询以及领取大额优惠请加微信:bigdatatang01

以下是在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

四、编写wordcount.py并运行成功

1、创建一个project

file --> New Project

2、给PyCharm配置PYTHONPATH

Run --> Edit Configurations,配置如下

wKiom1nDwb6DpKB9AAK8NBUaD6I447.png-wh_500x0-wm_3-wmp_4-s_2628805509.png

wKioL1nDwYqg_PxeAAP_gd5f8LE726.png-wh_500x0-wm_3-wmp_4-s_3686106793.png

wKiom1nDwcDAfyCIAAEj-F9f7lM398.png-wh_500x0-wm_3-wmp_4-s_2982977777.png

点上面的“+”,然后填上:

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加入到项目中

为了能看到源码,我们需要将项目关联源码,关联的方式如下:

wKioL1nDwzrA94m5AAQ9Z0Rno-w970.png-wh_500x0-wm_3-wmp_4-s_3688969279.png

wKiom1nDw3Gz6BZhAAMLPZx3DrI953.png-wh_500x0-wm_3-wmp_4-s_759117673.png

点击+ 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原理详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值