干货 | 携程实时流大数据ODS层建设,百万QPS,秒级延迟!
The following article is from 携程技术 Author 纪成
作者简介
纪成,携程数据开发总监,负责金融数据基础组件及平台开发、数仓建设与治理相关的工作。对大数据领域开源技术框架有浓厚兴趣。
一
一、背景
一
二、方案概述
一
三、详细介绍
3.1.binlog采集
max.in.flight.requests.per.connection=1
retries=0
acks=all
topic partition 3副本, 且
min.insync.replicas=2
binlogOffset:全局序列ID,由${timestamp}${seq} 组成,该字段用于全局排序,方便Hive做row_number 取出最新镜像,其中seq是同一个时间戳下自增的数字,长度为6。
executeTime:binlog 的执行时间。
eventType:事件类型:INSERT,UPDATE,DELETE。
schemaName:库名,在后续的spark-streaming,mirror 处理时,可以根据分库的规则,只提取出前缀,比如(ordercenter_001 → ordercenter) 以屏蔽分库问题。
tableName:表名,在后续的spark-streaming,mirror 处理时,可以根据分表规则,只提取出前缀,比如(orderinfo_001 → orderinfo ) 以屏蔽分表问题。
source:用于区分simple binlog的来源,实时采集的binlog 为 BINLOG, 重放的历史数据为 MOCK 。
version:版本
content:本次变更的内容,INSERT,UPDATE 取afterColumnList,DELETE 取beforeColumnList。
3.2 历史数据重放
3.3 Write2HDFS
3.4 生成镜像
3.5 其他
一
四、总结与展望
爱奇艺数据中台建设实践分享(附PPT下载)
关于数据中台最常见的10个错误认知
基于Binlog实时同步数据仓库问题总结
更多精彩,关注我们,一起见证!
更多精彩,请戳"阅读原文"到"用户画像"查看
!关注不迷路~ 各种福利、资源定期分享!