SPARK笔记

来源:互联网 发布:那个淘宝网站的商品是正品 编辑:程序博客网 时间:2024/06/04 19:01

笔记一

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


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

1
2
3
    valresult=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个或多个结果


0 0