spark数据分析(3)
combineByKey(createCombiner,mergeValue,mergeCombiners)
createCombiner: combineByKey() 会遍历分区中的所有元素,因此每个元素的键要么还没有遇到过,要么就
和之前的某个元素的键相同。如果这是一个新的元素, combineByKey() 会使用一个叫作 createCombiner() 的函数来创建
那个键对应的累加器的初始值
mergeValue: 如果这是一个在处理当前分区之前已经遇到的键, 它会使用 mergeValue() 方法将该键的累加器对应的当前值与这个新的值进行合并
多的分区都有对应同一个键的累加器, 就需要使用用户提供的 mergeCombiners() 方法将各
个分区的结果进行合并。
键值配对RDD有以下链接变换
内连接join:将有相同key的值连接组合
右连接rightOuterJoin:右边的rdd2里的key去连接rdd1中相同的key的值,并组合
右连接leftOuterJoin:左边边的rdd1里的key去连接rdd2中相同的key的值,并组合
减连接subtractByKey:左边rdd的key减去右边相同的key,但是不相同的key只会留下左边的,右边的不会留下
countByKey() 记录每一键组内的记录数,也就是每一个key出现的次数
collectAsMap()返回一个map形式的串形化结果
lookup()返回某键值下的所有值,即某个key的值
下面的一个网站用户的数据是:用户名,停留位置,进入时间,停留时间