|NO.Z.00070|——————————|BigDataEnd|——|Hadoop&实时数仓.V01|——|实时数仓.v01|数据质量|
一、实时数仓——数据质量
### --- 数据质量概述
~~~ 流程图描述了一般的实时数据计算流程,接收日志或者MQ到kafka,
~~~ 用Flink进行处理和计算(指标),将最终计算结果(指标)存储在redis中,
~~~ 最后查询出redis中的数据给大屏、看板等展示。
~~~ 但是在整个过程中,不得不思考一下,
~~~ 最后计算出来的存储在redis中指标数据是不是正确的呢?怎么能给用户或者老板一个信服的理由呢?
~~~ 比如说:离线的同事说离线昨天的数据订单是1w,
~~~ 实时昨天的数据确实2w,存在这么大的误差,到底是实时计算出
二、问题了,还是离线出问题了呢?

三、指标
### --- UV(Unique visitor)
~~~ 是指通过互联网访问、浏览这个网页的自然人。访问您网站的一台电脑客户端为一个访客。
~~~ 00:00-24:00内相同的客户端只被计算一次。
~~~ 一天内同个访客多次访问仅计算一个UV。
### --- IP(Internet Protocol)
~~~ 独立IP是指访问过某站点的IP总数,以用户的IP地址作为统计依据。
~~~ 00:00-24:00内相同IP地址之被计算一次。
### --- UV与IP区别:
~~~ 如:你和你的家人用各自的账号在同一台电脑上登录新浪微博,则IP数+1,UV数+2。
~~~ 由于使用的是同一台电脑,所以IP不变,但使用的不同账号,所以UV+2
~~~ # PV(Page View)
~~~ 即页面浏览量或点击量,用户每1次对网站中的每个网页访问均被记录1个PV。
~~~ 用户对同一页面的多次访问,访问量累计,用以衡量网站用户访问的网页数量。
~~~ # VV(Visit View)
~~~ 用以统计所有访客1天内访问网站的次数。
~~~ 当访客完成所有浏览并最终关掉该网站的所有页面时便完成了一次访问,
~~~ 同一访客1天内可能有多次访问行为,访问次数累计。
### --- PV与VV区别:
~~~ 如:你今天10点钟打开了百度,访问了它的三个页面;11点钟又打开了百度,
~~~ 访问了它的两个页面,则PV数+5,VV数+2. PV是指页面的浏览次数,VV是指你访问网站的次数。
~~~ # DAU(Daily Active User)
~~~ DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。
~~~ DAU通常统计一日(统计日)之内,登录或使用了某个产品的用户数(去除重复登录的用户),
~~~ 这与流量统计工具里的访客(UV)概念相似。
~~~ GMV:Gross Merchandise Volume
~~~ GMV:Gross Merchandise Volume,是成交总额(一定时间段内)的意思。
~~~ 多用于电商行业,一般包含拍下未支付订单金额。
~~~ 对于上图中加工的实时宽表数据,可以进行持久化,进行存储。
~~~ 这样,实时数据也有明细数据,就可以和离线数据进行比对了,
~~~ 到底是日志丢失还是消息没有发送或者计算的业务逻辑有问题,就能够一目了然。
~~~ 这就需要对flink加工的实时宽表进行存储了,这边考虑两种解决方案。
三、实时宽表数据存储至elasticsearch

### --- 实时宽表数据存储至elasticsearch
~~~ 将加工的宽表数据通过Flink写入es,这样可以得到所有数据的明细数据,
~~~ 拿着明细和其他数据提供方进行比对即可。
~~~ # 实时宽表数据存储至HDFS,通过Hive进行查询
~~~ 但是有一些朋友可能会说,es对应的sql count、group by语法操作,
~~~ 非常复杂,况且也不是用来做线上服务,而只是用与核对数据质量,
~~~ 所以时效性也不需要完全考虑,这样的话,就可以考虑将数据回写至HDFS了。
~~~ 因此可以考虑采用下图的方案,将加工的宽表通过Flink写入到HDFS,
~~~ 然后新建hive表进行关联HDFS数据进行关联查询。

### --- 写HDFS与es相比,存在非常明显的优点:
~~~ 学习成本低、会sql的基本就可以了,而不需要重新学习es负责的count、group by 等语法操作
~~~ 可以非常方便地和离线表数据进行关联查询(大多数情况下都是和离线数据比对),
~~~ 两张Hive表的关联查询容易找出两张表的数据差异
四、生产环境的中的应用案例:生产环境中的应用案例

在直播过程中的具体实践:

五、数据保障的策略:前--中--后:前期:前期保障数据质量:双链路保障(主备方案):

流量压测:

指定应急预案

进行中:

事后复盘:

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv026-EB实时数仓
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」