Spark 2.x 自定义累加器AccumulatorV2的使用

Spark2.x中,旧版accumulator被AccumulatorV2取代。文章介绍了如何创建和注册不同类型的AccumulatorV2,如long、double和CollectionAccumulator。重点讲解了自定义AccumulatorV2的步骤,包括继承AccumulatorV2并覆写相关方法,以实现字符串累加功能。同时,提醒用户注意累加器在惰性转换中的使用行为可能不一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废除

Spark2.x之后,之前的的accumulator被废除,用AccumulatorV2代替;

这里写代码片


更新增加

创建并注册一个long accumulator, 从“0”开始,用“add”累加

  def longAccumulator(name: String): LongAccumulator = {
    val acc = new LongAccumulator
    register(acc, name)
    acc
  }

创建并注册一个double accumulator, 从“0”开始,用“add”累加

  def doubleAccumulator(name: String): DoubleAccumulator = {
    val acc = new DoubleAccumulator
    register(acc, name)
    acc
  }

创建并注册一个CollectionAccumulator, 从“empty list”开始,并加入集合

  def
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生命不息丶折腾不止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值