欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark rdd reduceByKey使用

程序员文章站 2024-02-21 21:05:11
...

它比groupby快,本地合并,代码看下面。(注意这是我自己项目里copy的代码,不能直接使用,你得定义一个key->(v1,v2)

//reduceBykey相同的key的value 在一起你让它干嘛
//x和y代表所有的2个value遇到干嘛,最后返回的还是key->(value1,value2)格式
//我的rdd是sparkSQL写的,类型是rdd[ROW]每行有3个字段
//你可以改
//rdd.map(r => (r(0).toString -> (r(1).toString, r(2).toString))) 为map的集合
val rdd1: RDD[(String, (String, String))] = rdd.map(r => (r(0).toString -> (r(1).toString, r(2).toString))).reduceByKey((x, y) => {
  //返回的value是组合后的value
  (s"${x._1}和${y._1}", s"${x._2}和${y._2}")
})

rdd1.foreach(r=>println(r))

Spark rdd reduceByKey使用

相关标签: bigdata