spark数据分析(3)

combineByKey(createCombiner,mergeValue,mergeCombiners)

    createCombiner: combineByKey() 会遍历分区中的所有元素,因此每个元素的键要么还没有遇到过,要么就 
和之前的某个元素的键相同。如果这是一个新的元素, combineByKey() 会使用一个叫作 createCombiner() 的函数来创建 

那个键对应的累加器的初始值


    mergeValue: 如果这是一个在处理当前分区之前已经遇到的键, 它会使用 mergeValue() 方法将该键的累加器对应的当前值与这个新的值进行合并


    mergeCombiners: 由于每个分区都是独立处理的, 因此对于同一个键可以有多个累加器。如果有两个或者更 
多的分区都有对应同一个键的累加器, 就需要使用用户提供的 mergeCombiners() 方法将各 

个分区的结果进行合并。

spark数据分析(3)

spark数据分析(3)

键值配对RDD有以下链接变换

spark数据分析(3)

内连接join:将有相同key的值连接组合

spark数据分析(3)

spark数据分析(3)

右连接rightOuterJoin:右边的rdd2里的key去连接rdd1中相同的key的值,并组合

spark数据分析(3)

spark数据分析(3)

右连接leftOuterJoin:左边边的rdd1里的key去连接rdd2中相同的key的值,并组合

spark数据分析(3)

spark数据分析(3)

减连接subtractByKey:左边rdd的key减去右边相同的key,但是不相同的key只会留下左边的,右边的不会留下

spark数据分析(3)

spark数据分析(3)

countByKey() 记录每一键组内的记录数,也就是每一个key出现的次数
collectAsMap()返回一个map形式的串形化结果
lookup()返回某键值下的所有值,即某个key的值

spark数据分析(3)

spark数据分析(3)

下面的一个网站用户的数据是:用户名,停留位置,进入时间,停留时间

spark数据分析(3)

spark数据分析(3)