Spark

Spark海量数据去重策略

2019-03-25  本文已影响0人  麦子星星

1.目标:尽可能在有限资源的情况下,利用尽量少的资源来达到更高效的效果。今天就给大家分享一个在DDT首页概览实时性能优化算法 – 海量数据高效去重算法。

2.常规方法:采用spark sql方式去重

3.创新方法:采用spark的分区排序去重算子去重算法。性能大幅度提升,从原来5min左右下降到30s以内(数据量10亿左右)

4.使用spark的分区排序去重算子去重方法的优点

a、在于sortWithinPartitions方法返回的是按Partition排好序的DataFrame对象。我们只需在Partition排好序的

DataFrame对象后采用dropDuplicates删除相同的列,返回一个DataFrame,得到最新时间的数据。

b、这种去重方式大幅度提升了海量数据去重性能,减少了过程中shuffle操作。

5.带来的影响

a、提升了DDT实时概览计算的整体性能,解决海量数据中实时取数更新问题。

b、提高了用户体验度,为客户更加实时掌握用户产品的动态状况,提升产品价值。

C、使我们在有限的资源情况下,利用尽量少的资源来达到更高效的效果。

原文

上一篇 下一篇

猜你喜欢

热点阅读