新闻动态
咨询热线
400-123-4567传真:+86-123-4567
世界杯买球入口| 58同城宝实时数仓建设实践
配景
图7 展示了同城宝ADX下的所有实时流基于flink 流 join 生成的chain执行图
实时数仓的演进
2.2 面临的问题
在此配景下产物和业务人员对实时数据的需求也越来越多实时处置惩罚从次要部门酿成了主要部门在离线数据堆栈的基础上逐渐泛起了以实时事件处置惩罚为焦点的实时数仓。
配景
图7 展示了同城宝ADX下的所有实时流基于flink 流 join 生成的chain执行图
实时数仓的演进
2.2 面临的问题
在此配景下产物和业务人员对实时数据的需求也越来越多实时处置惩罚从次要部门酿成了主要部门在离线数据堆栈的基础上逐渐泛起了以实时事件处置惩罚为焦点的实时数仓。
图9 展示了flink interval join 的原理
同城宝团队实时数仓的实践
1、同城宝的业务和数据规模
为相识决1.0时期存在的问题我们借鉴离线数仓的建设履历引入Flink 取代Spark-Streaming 同时通过对实时数仓举行层级划分、按主题域建模等方法重新设计了实时数仓的架构体系。
美团点评基于 Flink 的实时数仓建设实践:
图2 展示了同城宝的业务组成和数据规模
图3 展示了实时数仓1.0时期的架构图
在使用Flink 构建实时数仓的历程中根据主题域合并数据流每个主题下的所有数据流汇总到一个实时任务中 通过双流 join的方式 大幅淘汰了实时任务数同时提升了数据的准确性。通过数据分层、主题域的划分使数据开发的链路更清晰淘汰了代码的冗余和耦合。
数据实时性提升至秒级别clk1、clk0、cash等关键指标的准确性到达99%以上。
存储层:日志通过Flume收罗至消息行列kafka中存储。服务层:通过实时查询Druid数据满足数据分析的实时需求。
在实时数仓2.0中我们增加了对数据质量全生命周期的监控治理即从数据的流入、加工处置惩罚、数据的落地等一系列流程中的每个环节都通过监控诉警来实时反馈数据中可能泛起的问题如下图所示。
在Flink双流join场景中数据流会凭据ON 中的关联条件key举行Shuffle重分区从而确保两个实时流中具有相同key的数据会分配到同一个Task节点举行处置惩罚。由于数据流速差别join的历程中会左右划分开发LState 和RState 状态空间缓存双方的流数据至状态中。
Spark Streaming 底层基于微批次处置惩罚的盘算引擎无法满足业务对数据秒级更新的需求。通过Redis缓存一方数据流完成数据拼接时使用的是Process Time 存在数据丢失拼接失效的问题。实时任务数目繁多一条实时流对应一个实时任务差别流之间存在依赖维护开发成本高。现在的数仓分层体系无法高效的支撑业务的快速迭代。通过Redis无法解决两条流中的消息乱序的问题。
3、实时数仓2.0
Interval Join没有window的观点由于数据流的无界性以及消息乱序的影响关联上的消息可能进入处置惩罚系统的时间有较大差异一条流中的消息可能需要和另一条流的多条消息关联因此两条流的数据会缓存在内部 State 中任意一方数据到达会获取另一方数据流相应时间规模内的数据执行 Join 操作。
3.1 整体架构
实时数仓2.0 的整体架构如下图所示。
同城宝依托于58同城的千万商家百万在线广告主专注生活服务领域涵盖7大模块400多种别推广内容与用户生活息息相关对用户来说广告即内容具备强大的流量变现能力。
通过对实时数仓业务的梳理。
本文关键词:世界杯买球入口,世界杯买球正规平台
本文来源:世界杯买球入口-www.ferdinadz.com