Spark Core 核心概念:键值对 RDD 算子
知识点:
键值对 RDD 的创建:map转换为 (key, value) 格式
分区算子:partitionBy、getPartition
聚合算子:reduceByKey、groupByKey、aggregateByKey、sortByKey
练习:
对比reduceByKey与groupByKey的性能:
reduceByKey:先分区内聚合,再全局聚合,性能优
rdd.reduceByKey(lambda a, b: a + b).collect()
groupByKey:直接拉取所有键值对到分区,性能差,大数据场景慎用
rdd.groupByKey().mapValues(sum).collect()
实现按值排序的词频统计结果
易错
reduceByKey是宽依赖算子,会触发 Shuffle(数据洗牌)
aggregateByKey支持自定义分区内和全局聚合逻辑,灵活性最高

浙公网安备 33010602011771号