最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2個(gè)案例帶你了解萬能的CombineByKey!

2023-03-02 16:43 作者:ingemar-  | 我要投稿

combineByKey是Spark中一個(gè)比較核心的高級(jí)且底層函數(shù),其他一些高階鍵值對(duì)函數(shù)底層都是用它實(shí)現(xiàn)的。諸如 groupByKey,reduceByKey等等

如下解釋下3個(gè)重要的函數(shù)參數(shù):

·??createCombiner: V => C ,這個(gè)函數(shù)把當(dāng)前的值作為參數(shù),此時(shí)我們可以對(duì)其做些附加操作(類型轉(zhuǎn)換)并把它返回 (這一步類似于初始化操作)

·?mergeValue: (C, V) => C,該函數(shù)把元素V合并到之前的元素C(createCombiner)上 (這個(gè)操作在每個(gè)分區(qū)內(nèi)進(jìn)行)

·?mergeCombiners: (C, C) => C,該函數(shù)把2個(gè)元素C合并 (這個(gè)操作在不同分區(qū)間進(jìn)行)。


案例1:實(shí)現(xiàn)將相同Key的Value進(jìn)行合并,使用groupBy很容易實(shí)現(xiàn)


案例2:求解平均分的案例


·?作用

對(duì)數(shù)據(jù)集按照 Key 進(jìn)行聚合

·?調(diào)用

? combineByKey(createCombiner, mergeValue, mergeCombiners, [partitioner], [mapSideCombiner], [serializer])

·?參數(shù)

createCombiner 將 Value 進(jìn)行初步轉(zhuǎn)換

mergeValue 在每個(gè)分區(qū)把上一步轉(zhuǎn)換的結(jié)果聚合

mergeCombiners 在所有分區(qū)上把每個(gè)分區(qū)的聚合結(jié)果聚合

partitioner 可選, 分區(qū)函數(shù)

mapSideCombiner 可選, 是否在 Map 端 Combine

serializer 序列化器

·?注意點(diǎn)

combineByKey 的要點(diǎn)就是三個(gè)函數(shù)的意義要理解

groupByKey, reduceByKey 的底層都是 combineByKey


案例代碼


2個(gè)案例帶你了解萬能的CombineByKey!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
永年县| 云和县| 涿鹿县| 依安县| 湖州市| 凤城市| 江油市| 宜丰县| 铁岭县| 西畴县| 旌德县| 淳化县| 望奎县| 比如县| 嵊泗县| 巧家县| 库尔勒市| 河池市| 平凉市| 遵义县| 怀仁县| 缙云县| 化州市| 蒲江县| 犍为县| 易门县| 昭觉县| 韶山市| 无为县| 合肥市| 山东| 丹凤县| 庆阳市| 丽江市| 库车县| 航空| 普安县| 顺义区| 荣成市| 资中县| 江口县|