国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)遵守國家法律
洛川县| 舞阳县| 临江市| 镇江市| 桐柏县| 永兴县| 当阳市| 营山县| 香格里拉县| 厦门市| 诸暨市| 萍乡市| 临湘市| 新乡市| 邳州市| 五寨县| 外汇| 六盘水市| 毕节市| 通山县| 轮台县| 惠东县| 胶南市| 曲阜市| 阳高县| 敦煌市| 石首市| 海兴县| 巴中市| 砀山县| 荃湾区| 无为县| 同仁县| 盱眙县| 盐津县| 明水县| 松潘县| 宁武县| 行唐县| 福清市| 万盛区|