SPARK笔记

xiaoxiao2021-02-27  243

笔记一

参考 文章http://dongxicheng.org/framework-on-yarn/spark-scala-writing-application/

通过RDD转换算子操作和转换RDD,对于WordCount而言,首先需要从输入数据中每行字符串中解析出单词,然后将相同单词放到一个桶中,最后统计每个桶中每个单词出现的频率,举例如下:

1 2 3      val result = hadoopRdd.flatMap{          case (key, value)  = > value.toString().split( "\\s+" ); }.map(word = > (word, 1 )). reduceByKey ( _ + _ )

其中,flatMap函数可以将一条记录转换成多条记录(一对多关系),map函数将一条记录转换为另一条记录(一对一关系),reduceByKey函数将key相同的数据划分到一个桶中,并以key为单位分组进行计算,这些函数的具体含义可参考:Spark Transformation。

笔记二

参考http://www.tuicool.com/articles/UJzmui

方法textFile读入一个文本文件,并在Spark环境里创建相应的RDD集。这个数据集存放在lines变量中。方法flatMap和map不同,map返回的是一个key,value的对,得到的RDD集和哈希表有点像。而flatMap的输出结果是数组。这个数组是对每个元素调用传入的lambda函数后得到的结果的并。这意味着传入的lambda函数可以返回0个或多个结果

转载请注明原文地址: https://www.6miu.com/read-10661.html

最新回复(0)