安装Spark
由于下一个项目是云计算相关的比赛,所以最近在学习Hadoop和Spark,首先是安装Spark,我们去Spark官网,点击Download,由于我的Ubuntu16.04没有装Hadoop平台,所以选择2.2.0,pre-built for Apache Hadoop 2.7 and later版本,则不需要安装Hadoop,下载好了之后,进入压缩包所在目录解压
tar -xf spark-2.2.0-bin-hadoop2.7.tgz
然后进入目录,运行Python版Spark Shell
cd spark-2.2.0-bin-hadoop2.7
./bin/pyspark
第一个SparkApp
开始写第一个WordCountApp,在本地新建一个WordCountApp.py的文件写如下代码
from pyspark import SparkConf,SparkContext #导入spark依赖,spark-submit会自动帮我们引入spark依赖
conf = SparkConf().setMaster("local").setAppName("WordCountApp")
sc = SparkContext(conf = conf) #初始化一个SparkContext对象
input = sc.textFile("./README.md") #用SparkContext对象的textFile方法读一个文件,返回一个RDD
words = input.flatMap(lambda line:line.split(" ")) #用RDD的flatMap方法将input里每个单词分开,返回结果RDD
counts = words.map(lambda word: (word,1)).reduceByKey(lambda a,b: a+b) #words.map返回一个pair RDD,然后用reduceByKey方法统计每个单词出现的次数
counts.saveAsTextFile("./output") #结果保存为文件
然后提交到Spark环境运行
./bin/spark-submit WordCountApp.py
运行结束后进入结果目录查看运行结果
cd output
ls
cat part-00000
一个统计单词数量的Spark程序就写好啦
网友评论