《【快手张静】数据湖在快手的生产实践.pdf》由会员分享,可在线阅读,更多相关《【快手张静】数据湖在快手的生产实践.pdf(49页珍藏版)》请在三个皮匠报告上搜索。
1、数据湖在快手的生产实践张静自我介绍张静 快手数据架构研发专家 曾就职于百度和阿里 专注于大数据领域的计算引擎和数据湖方向 Apache Flink&Calcite Committer,HUDI Contributor https:/ Travel:查询历史上的某个数据版本高效查询:基于 Data Skipping、二级索引等并发控制MVCC OCC丰富的表服务Compaction、Clustering、Clean等开放性适配 Spark、Flink、Presto、Trino、StarRocks等Schema Evolution快手数据湖的经典业务场景数据同步日志型数据入湖CDC 数据入湖数据更
2、新人群圈选业务留存业务宽表拼接离线宽表模型准实时多流关联快手数据湖的经典业务场景数据同步日志型数据入湖CDC 数据入湖数据更新人群圈选业务留存业务宽表拼接离线宽表模型准实时多流关联数据同步 日志型数据入湖 历史方案限制:数据同步仅支持日期+小时的二级分区ODS 客户端日志离线链路,小时调度MID 客户端日志日期+小时二级分区DWD 客户端日志四级分区数据清洗数据排序,数据重新分布数据同步 日志型数据入湖 历史方案限制:数据同步仅支持日期+小时的二级分区ODS 客户端日志离线链路,小时调度MID 客户端日志日期+小时二级分区DWD 客户端日志四级分区数据清洗数据排序,数据重新分布痛点:1.时效低
3、2.冗余存储数据同步 日志型数据入湖 改进方案客户端日志四级分区实时链路DWD 客户端日志四级分区数据排序业务收益1.提高时效性:1h40min-40min,资源持平2.简化链路复杂度快手数据湖的经典业务场景数据同步日志型数据入湖CDC 数据入湖数据更新人群圈选业务留存业务宽表拼接离线宽表模型准实时多流关联数据同步 CDC 数据入湖 历史方案CDC 数据入仓全量快照表ds=20230121增量binlog 表ds=20230122DataX 全量初始化增量同步 binlog前一天全量合并当日增量全量快照表ds=20230122数据同步 CDC 数据入湖 历史方案CDC 数据入仓全量快照表ds=
4、20230121增量binlog 表ds=20230122DataX 全量初始化增量同步 binlog前一天全量合并当日增量全量快照表ds=20230122痛点:时效低数据同步 CDC 数据入湖 改进方案CDC 数据入湖数据同步 CDC 数据入湖 需求描述Mysql2HUDI 业务要求 避免串行执行全量同步和增量同步导致 KAFKA offset 过期的问题 支持按照事件时间查询某个快照 整点数据就绪后尽快发布对应版本 兼容当前HIVE表的使用方式 按照时间分区的查询方式 长生命周期管理数据同步 CDC 数据入湖 方案细节全量同步和增量同步并行执行Initialized version:v1M
5、OR Table With Bucket Index(4 bucket)v1.log.2bulk_insert writer 全量同步Fileid:2v1.log.1v1.parquetFileid:1v1.log.1v1.parquetFileid:3v1.parquetFileid:4v1.log.1v1.parquetstream upsert writer 增量同步数据同步 CDC 数据入湖 方案细节Timeline基于事件时间的快照查询RequiredInstant timeOptional Hive Target DatabaseOptional Hive Target Table
6、Optional Hive Target PartitionSync Action Metadata20230122000600000查询事件时间是 20230122000000000 的快照 DeltaCommit 20230121234600000DeltaCommit 20230122000600000Sync 20230122000000000Time-travel Query数据同步 CDC 数据入湖 方案细节OperatorCoodinatorCheckpointCoordinatorOperatorJobManagerTaskManagerTaskManagerOperatorT