第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spark 算子- KeyValue Transformation

標簽:
Spark

Key-Value数据类型的Transformation算子

输入输出一对一

mapValues
针对Key,Value数据中的Value进行map操作,而不是对key进行处理

webp

mapValues


对单个RDD聚集

combineByKey
聚集相同Key的RDD,值形成序列返回

webp

combineByKey


def combineByKey[C](
    createCombiner:V=>C,    mergeValue:(C,V)=>C,    mergeCombiners:(C,C)=>C,    partitioner:Partitioner,    mapSideCombine:Boolean=true,    serializer:Serializer=null):RDD[(K,C)]=self.withScope{
combineByKeyWithClassTag(createCombiner,mergeValue,mergeCombiners,
partitioner,mapSideCombine,serializer)(null)
}

createCombiner:V=>C
在C不存在的情况下,通过V创建seqC
mergeValue:(C,V)=>C
在C已经存在的情况下,需要merge,如把item V加到seqC中
mergeCombiners:(C,C)=>C
合并两个C
partitioner:Partitioner
分区器
mapSideCombine:Boolean=true开启map端combine,减少shuffle传输量
serializer:Serializer=null传输需要序列化,序列化类

reduceByKey
聚集key相同的RDD,值合并

webp

reduceByKey


partitionBy
对RDD进行分区操作
如果原有的RDD分区器和现有分区器相同,不重分区

webp

partitionBy


对两个RDD聚集

cogroup
将两个RDD协同划分
对两个RDD中的key-value类型的元素,每个RDD相同key的元素分别聚合一个集合,返回两个RDD中对应key的元素迭代器

webp

cogroup


连接

join
对两个需要连接的RDD进行cogroup操作,形成的新的RDD,对Key下的元素进行笛卡尔积操作,最后返回RDD[(K,(V, W))]

this.cogroup(other, partitioner).flatMapValues {    case (vs, ws) => for (v <- vs; w <- ws) yield(v, w)
}

webp

join

leftOutJoin, rightOutJoin
相当于在join的基础上先判断一侧的RDD元素是否为空,如果为空,填充为空。如果不为空,将数据进行连接运算

leftOutJoinif(ws.isEmpty) {
    vs.map(v=>(v, None))
} else {    for(v <- vs; w <- ws) yield (v, Some(w))
}



作者:Alex90
链接:https://www.jianshu.com/p/3946a395b897


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消