cogroup

cogroup:对两个RDD中的KV元素,每个RDD中相同key中的元素分别聚合成一个集合。与reduceByKey不同的是针对两个RDD中相同的key的元素进行合并。
val rdd1 = sc.parallelize(Array(("aa",1),("bb",2),("cc",6)))
val rdd2 = sc.parallelize(Array(("aa",3),("dd",4),("aa",5)))
val rdd3 = rdd1.cogroup(rdd2).collect()

结果为:
(aa,(CompactBuffer(1),CompactBuffer(3, 5)))
(dd,(CompactBuffer(),CompactBuffer(4)))
(bb,(CompactBuffer(2),CompactBuffer()))
(cc,(CompactBuffer(6),CompactBuffer()))

推荐阅读更多精彩内容

  • cogroup:对两个RDD中的KV元素,每个RDD中相同key中的元素分别聚合成一个集合。与reduceByKe...
    达微阅读 3,772评论 0 2
  • http://spark.apache.org/docs/latest/api/python/index.html...
    mpro阅读 5,396评论 0 4
  • 常用Transformation(即转换,延迟加载) 通过并行化scala集合创建RDD val rdd1 = s...
    Albert陈凯阅读 306评论 0 0
  • Spark学习笔记 Data Source->Kafka->Spark Streaming->Parquet->S...
    哎哟喂喽阅读 5,959评论 0 52
  • 1. Value 型 (1) 输入、输出分区 一对一 map // 将数据逐个迭代,生成新的值或键值对 val...
    Finok阅读 49评论 0 0