Spark快速大数据分析——第四章键值对操作——Pair RDD的转化操作

Faye ·
更新时间:2024-09-21
· 539 次阅读

键值对 Pair RDD 转化操作 val conf = new SparkConf().setMaster("local").setAppName("PairRDD") val sc = new SparkContext(conf) val lines = sc.parallelize(List((1, 2), (3, 4), (3, 6))) 1、reduceByKey 合并具有相同的键值对 (1, 2), (3, 4), (3, 6) // 合并具有相同的键值对 val reduce = lines.reduceByKey((x, y) => x + y) println("1、合并具有相同的键值对") reduce.foreach(println) 1、合并具有相同的键值对 (1,2) (3,10) 2、groupByKey对具有相同键的值进行分组 (1, 2), (3, 4), (3, 6) // 对具有相同键的值进行分组 val groupByKey = lines.groupByKey() println("2、对具有相同键的值进行分组") groupByKey.foreach(println) 2、对具有相同键的值进行分组 (1,CompactBuffer(2)) (3,CompactBuffer(4, 6)) 4、keys 返回一个仅包含键的RDD(不加括号) (1, 2), (3, 4), (3, 6) // 对pairRDD中的每个值应用一个函数而不改变键 val mapValues = lines.mapValues(x => x + 1) println("4、pairRDD中的每个值应用一个函数而不改变键") mapValues.foreach(println) (1,3) (3,5) (3,7) 5、values 返回一个仅包含值得RDD (1, 2), (3, 4), (3, 6) // 返回一个仅包含键的RDD val keys = lines.keys println("5、返回一个仅包含键的RDD") keys.foreach(println) 1 3 3 6、sortByKey 返回一个根据键排序 (1, 2), (3, 4), (3, 6) // 返回一个仅包含值得RDD val values = lines.values println("6、返回一个仅包含值得RDD") values.foreach(println) 2 4 6 7、返回一个根据键排序 (1, 2), (3, 4), (3, 6) // 返回一个根据键排序 val sortByKey = lines.sortByKey() println("7、返回一个根据键排序") lines.foreach(println) (1,2) (3,4) (3,6)
作者:软件手



大数据分析 数据 rdd 数据分析 spark 键值 大数据

需要 登录 后方可回复, 如果你还没有账号请 注册新账号