Flink 实时计算目的对数方案
作者头像
  • 杨春莉
  • 2019-11-06 10:16:07 1

实时数据校验方案

在实时数据产品的开发中,如何确保展示的数据(如PV、UV、GMV等)是准确的,是一个常见的问题。尤其当不同团队提供的数据存在差异时,如何判断哪些数据是正确的?这就需要一套有效的实时数据校验方案。本文将从背景、实时数据计算方案、数据校验方案以及总结四个方面来阐述如何使团队相信自己的数据是准确无误的。

1. 背景

在实时数据统计过程中,经常会遇到一个问题:如何验证自己计算的数据是否正确?例如PV、UV、DAU、GMV等关键指标的数据准确性问题。

2. 实时数据统计方案

实时数据统计通常包括接收日志或消息队列(MQ)到Kafka,利用Flink进行数据处理和计算,最终将计算结果存储在Redis中,并将数据呈现给用户或展示在大屏上。然而,在整个过程中,我们需要确保存储在Redis中的数据是准确的,以便用户或领导可以信任这些数据。

例如,如果离线团队报告的数据与实时数据存在显著差异,比如离线团队报告的数据为1万订单,而实时团队报告的数据为2万订单,这时就需要进一步验证哪个数据是正确的。

3. 数据校验方案

为了更好地理解和解决这个问题,我们可以以电商双11实时数据大屏为例。假设双11期间,实时数据显示GMV为200亿,但离线数据却显示为300亿,而另一个数据部门提供的数据为192亿。在这种情况下,领导无法确定哪个数据是正确的,因此建议小李和小王对数据进行比对。

小王提供了详细的数据明细,包括具体购买的商品及其价格。小李意识到需要拥有详细的数据才能进行准确的对比,于是请教了导师。导师建议将实时宽表数据存储起来,以便进行详细的对比。

小李采取了以下两种方案:

  1. 将实时宽表数据存储到Elasticsearch:通过Flink将实时宽表数据存储到Elasticsearch,从而获取所有数据的明细信息,便于与离线数据或其他数据源进行对比。

  2. 将实时宽表数据存储到HDFS并通过Hive查询:考虑到某些用户可能觉得Elasticsearch的操作复杂,可以选择将数据存储到HDFS并通过Hive进行查询。这种方式的学习成本较低,且便于与离线数据进行关联查询,有助于快速找出数据差异。

通过上述方案,小李最终发现小王的数据中未排除预售订单,导致数据偏差。小李向领导汇报了这一情况,获得了领导的认可和奖励。

4. 总结

实时数据统计虽然能提供即时的统计数据,但数据准确性依然是一个重要的问题。要证明数据的准确性,关键在于拥有详细的明细数据,可以与任意一方数据进行比对。明细数据的存储和设计也非常关键,可以通过与离线数据或其他数据源的字段对齐,从而实现便捷的比对。使用Hive等工具是一种简单有效的方法,因为大多数人熟悉SQL查询,无论是开发人员、数据分析师还是商业智能(BI)人员。

希望这些方法可以帮助你在实际工作中更好地管理和验证实时数据。

    本文来源:图灵汇
责任编辑: : 杨春莉
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
对数实时目的方案计算Flink
    下一篇