最近看完了《Spark 大数据处理》一数,收益非浅,又结合平时工作中用到的一些开发实践,用Python实现了Spark编程过程中经常用到且比较基础的编程模型,拿出来与大家分享,如有不足还请补充。
《Spark 大数据处理》 一书中也有相关的例子,但是是用Scala实现的,个人觉得还是Python API的语法还是更加简洁清晰,所以选择了用Python来实现,语言都是浮云,主要还是看思路,由于篇幅限制,只列出部分核心代码。
- 第一招:wordcount
- 介绍:对于大数据编程领域的经典例子,是肯定要第一招学会的,其实wordcount并不只是个wordcount,它还有很用应用的场景,例如统计过去一段时间网站中各个商品的浏览量,最近一段时间相同查询的数量等
- 代码逻辑
实现该功能主要包括以下四步- 将文件内容转换成RDD
- 对文件的行按照特定字符分割
- 将每个提取到的数据转换成(element,1)的格式
- 把所有的(element,1)的数据使用reduceBy进行element的叠加统计
- 实现代码
完整功能的核心代码加上打印只需要两行
data_file=sc.textFile("hdfs://10.5.24.137:9990/temp/2016052512/tf_00000000")