您现在的位置是:首页 > 文章详情

Spark 2.4.0 编程指南--快速入门

日期:2018-12-17点击:503

Spark 2.4.0 编程指南--快速入门

Spark_2_4_0_001_jpeg

更多资源

视频

文档

前置条件

  • 已安装好java(选用的是java 1.8.0_191)
  • 已安装好scala(选用的是scala 2.11.121)
  • 已安装好hadoop(选用的是Hadoop 3.1.1)
  • 已安装好spark(选用的是spark 2.4.0)

技能标签

  • Spark 2.4.0 Spark session available as 'spark'
  • 在Spark 2.0之后,RDD被数据集(Dataset)取代
  • Spark session 读取HDFS文件做为数据集
  • 数据集函数,count(),first(),filter(),reduce()
  • 统计所有行单词总个数
  • 计算行中最多单词的个数
  • 计算最多单词个数的行
  • 按单词分组统计个数(WordCount)
  • 官网: http://spark.apache.org/docs/2.4.0/quick-start.html

示例

  • Spark session 读取HDFS文件做为数据集
 val dataSet = spark.read.textFile("/home/liuwen/data/a.txt")
  • 数据集调用count()函数
 dataSet.count() 
  • 数据集调用first()函数
 //其实调用的是head()函数 dataSet.first()
  • 数据集调用show()函数
 dataSet.show() //默认取前20行数据,并进行20个字符的截断 dataSet.show(10,false) //取前20行数据,并且不进行截断
  • 数据集调用filter()函数
 dataSet.filter(line => line.contains("spark"))
  • 统计所有行单词总个数
 import spark.implicits._ val lineWordLength = dataSet.map( line => line.split(" ").size) val result = lineWordLength.reduce((a,b) => a + b) 
  • 计算行中最多有多少个单词
import spark.implicits._ val lineWordLength = dataSet.map( line => line.split(" ").size) val result = lineWordLength.reduce((a,b) => Math.max(a,b)) 
  • 计算最多单词个数的行
import spark.implicits._ val result = dataSet.reduce((a,b) => { if(a.split(" ").size > b.split(" ").size) a else b }) 
  • 按单词分组统计单词个数(WorldCount)
import spark.implicits._ val distFile = spark.read.textFile("hdfs://standalone.com:9000/home/liuwen/data/word.txt") //方式一 //val dataset = distFile.flatMap( line => line.split(" ")).groupByKey(x => x ).count() //方式二 val dataset = distFile.flatMap( line => line.split(" ")).map(x => (x,1)).groupByKey(x => x).reduceGroups((a,b) => (a._1,a._2+b._2)) //方式三 //val dataset = distFile.flatMap( line => line.split(" ")).groupByKey(identity ).count() 

end

原文链接:https://yq.aliyun.com/articles/680248
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章