spark对list中各元素的累加

def kpi_general(baseData: RDD[(String, String, List[Double],String,String)]) = {
    baseData.map(tp => (tp._1, tp._3)).reduceByKey((list1, list2) => {
      list1.zip(list2).map(tp => tp._1 + tp._2)
    }).foreachPartition(partition => {
      val jedis = Jpools.getJedis
      partition.foreach(tp => {
        jedis.hincrBy("A-" + tp._1, "total", tp._2(0).toLong)
        jedis.hincrBy("A-" + tp._1, "succ", tp._2(1).toLong)
        jedis.hincrByFloat("A-" + tp._1, "money", tp._2(2))
        jedis.hincrBy("A-" + tp._1, "cost", tp._2(3).toLong)
        //设置key的过期时间
        jedis.expire("A-" + tp._1, 60 * 60 * 48)
      })
      jedis.close()
    })
  }

list(1,2,3)+(4,5,6)=>reducebykey=(1,2,3),(4,5,6)
使用拉链后
list(1,2,3)+(4,5,6)=>(1,4),(2,5),(3,6)=>(5,7,9)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值