spark通过combineByKey算子实现条件性聚合的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark通过combineByKey算子实现条件性聚合的方法相关的知识,希望对你有一定的参考价值。

实际开发过程中遇到了需要实现选择性聚合的场景,即对于某一个key对应的数据,满足条件的记录进行聚合,不满足条件的则不聚合。

使用spark处理这种计算场景时,想到了使用combineByKey算子,先将输入数据中的value映射成含一个元素的ArrayBuffer(scala中相当于java中的ArrayList),然后在聚合时对满足聚合条件的记录聚合后覆盖这一个ArrayBuffer,不满足条件的待聚合的两条记录都填入ArrayBuffer。最后调用flatMap将ArrayBuffer中的元素分拆。

以上是关于spark通过combineByKey算子实现条件性聚合的方法的主要内容,如果未能解决你的问题,请参考以下文章

Spark算子篇 --Spark算子之combineByKey详解

SparkCore算子之CombineByKey使用

spark算子:combineByKey

reduceByKeygroupByKey和combineByKey

spark算子

combineByKey