您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[网易]:基于 IceBerg 湖仓一体架构演进 - 发现报告
当前位置:首页/其他报告/报告详情/

基于 IceBerg 湖仓一体架构演进

2023-03-09网易张***
基于 IceBerg 湖仓一体架构演进

网易数帆基于Iceberg的湖仓一体架构演进主讲人:周劲松| 网易数帆网易数帆数字化基础软件自主创新分享周 数字化基础软件自主创新分享周CONTE案例与成果3网易数帆湖仓一体方案2网易数据开发现状与痛点1未来规划4NT网易数帆数字化基础软件自主创新分享周 网易数据开发现状与痛点数字化基础软件自主创新分享周网易数帆数字化基础软件自主创新分享周 T+1离线数据生产hivespark/hive原始数据数据源数据集市明细数据轻度汇聚sparkspark/hivespark/hiveimpala数字化基础软件自主创新分享周网易数帆数字化基础软件自主创新分享周 初步引入实时化数字化基础软件自主创新分享周Flink分钟/秒级HiveHive清洗聚合Kudu消息队列FlinkCDC数据集市小时/天级近N天数据全部数据Hivesparkspark数据源LOGspark / impalaspark / impala主键聚合清洗聚合网易数帆数字化基础软件自主创新分享周 更加复杂的实时化数字化基础软件自主创新分享周Flink分钟/秒级KuduFlinkCDC数据集市小时/天级近N天数据数据源LOGspark / impalaspark / impalaHiveHiveHiveHiveHiveHiveHiveHivesparkspark清洗/打宽/聚合HBASEspark全部数据清洗/打宽/聚合网易数帆数字化基础软件自主创新分享周 流批分割的Lambda架构数字化基础软件自主创新分享周离线应用层sparkimpalaspark数据源实时应用层存储层(消息队列+ kv)KV消息队列服务层(实时数仓)impalaflink数据源应用层:流批合并视图sparkflinkflinkKVKudu服务层Hive存储层Hive•数据孤岛(Kudu等)•独立采购和部署•冗余存储浪费成本•难以数据复用和互通•研发体系割裂•研发人效低•研发规范不通用•应用层视图合并复杂•指标和语义二义性网易数帆数字化基础软件自主创新分享周 网易数帆湖仓一体方案Arctic数字化基础软件自主创新分享周网易数帆数字化基础软件自主创新分享周 Arctic核心功能数字化基础软件自主创新分享周实时数据更新•支持主键定义•提供唯一性保障•结构自由化,保障读写效流批一体功能封装•毫秒级延迟的实时写入/读取接口•分钟级延迟的批量写入/读取接口•Flink/Spark/trino等引擎的支持痛点功能数据孤岛流批研发体系割裂网易数帆数字化基础软件自主创新分享周 Arctic架构数字化基础软件自主创新分享周Hive/Iceberg 表格式之上,计算引擎之下的TableService,提供表结构优化以及Kafka封装的实时湖仓系统网易数帆数字化基础软件自主创新分享周 Arctic核心功能:PrimaryKey数字化基础软件自主创新分享周•支持Primary Key•支持CDC ingestion•实现Upsert 语义•主键唯一性约束实现•Merge on read •optimize •未来扩展SortKey / AggKey网易数帆数字化基础软件自主创新分享周 Arctic核心功能:Optimizer数字化基础软件自主创新分享周•Minor Optimize•执行周期短(约10min 一次)•eq-del 转换为pos - del •针对change store•Major Optimize•执行周期长(约1 day 一次)•消除delete文件•优化小文件情况•针对basestore网易数帆数字化基础软件自主创新分享周 Arctic核心功能:文件索引数字化基础软件自主创新分享周change filebase fileKey:1101001194Mchange node:11 12Mbase node:11182Mbase node:01196M108MSnpshotid : 1000basenodechangenode0000011110101010101。。。。。。011网易数帆数字化基础软件自主创新分享周 Arctic核心功能:文件索引数字化基础软件自主创新分享周basenodechangenode0000011110101010101。。。。。。011011001192M57M57M00111011111000001111111Merge on readmerge read taskSparkimpalaprestoSnpshotid : 1001网易数帆数字化基础软件自主创新分享周 Arctic核心功能:流批一体数字化基础软件自主创新分享周hoursminutessecondsstream writebatch writestream readbatch readlookup joinbatch joinhoursminutesseconds流批一体功能封装•毫秒/秒级延迟流计算•分钟级延迟流计算•小时级延迟批计算•流和批场景下的关联计算网易数帆数字化基础软件自主创新分享周 Arctic核心功能:hidden queue数字化基础软件自主创新分享周•下游可订阅Arctic 表变更•支持Hidden Queue•秒级延迟订阅•通过消息回撤实现最终一致性•arctic-flink-connector 封装双写和回撤实现细节•不开启Hidden Queue•分钟级延迟订阅网易数帆数字化基础软件自主创新分享周 Arctic核心功能:hidden queue数字化基础软件自主创新分享周任务Failover 后,先写入Flip 消息,带上任务恢复的CP信息下游任务收到Flip 消息,从Kafka 找到对应的消息并retract整个过程由arctic-flink-connector 封装网易数帆数字化基础软件自主创新分享周 Arctic核心功能:多写一致性保障数字化基础软件自主创新分享周事务开始时从AMS分配事务ID,Merge-On-Read/Optimize时根据事务ID判定写入顺序?网易数帆数字化基础软件自主创新分享周 Arctic总结数字化基础软件自主创新分享周Arctic 是专为开放式数据湖架构设计的流式湖仓服务,arctic 在hive/iceberg 的表格式基础上提供CDC 实时摄取,流式更新,实时数仓等特性,使用arctic 就像使用一个独立的数仓服务,无需关心数据或文件在数据湖上的结构,大小和分布。网易数帆数字化基础软件自主创新分享周 案例与成果数字化基础软件自主创新分享周网易数帆数字化基础软件自主创新分享周 案例:推送营销分析数字化基础软件自主创新分享周推送分析报表AP 批查询left join•Hive表支持流式更新•通过merge on read提供实时仓能力数数字化基础软件自主创新分享周维表joinchangebasekv indexbasebasebase设备库主站埋点日志ods_ua设备明细表圈选明细表曝光明细表点击明细表分拆算法埋点日志baseods_select_userbase清洗ods_devicebase清洗网易数帆数字化基础软件自主创新分享周 案例:推送营销分析数字化基础软件自主创新分享周数字化基础软件自主创新分享周实时生产left join维表joinbase推送归因表营销分析特征加工样本生产ABTestschangebasekv indexbasebasebase设备库主站埋点日志ods_ua设备明细表圈选明细表曝光明细表点击明细表分拆算法埋点日志baseods_select_userbase清洗ods_devicebase清洗•批量分析切换到实时生产,生产流程复用•优化报表响应时间10x-100x网易数帆数字化基础软件自主创新分享周 未来规划数字化基础软件自主创新分享周网易数帆数字化基础软件自主创新分享周 未来规划数字化基础软件自主创新分享周•更多流批一体场景•Rollup 聚合视图•Sort Key 支持,Z-ORDER 排序•部分列的Stream upsert•支持Temprol Join•更强的Dashboard•任务血缘与数据血缘•SQL自助查询•安全体系完善•支持开放式的权限插件,支持对接Ranger网易数帆数字化基础软件自主创新分享周 THANKS感 谢 观 看网易数帆数字化基础软件自主创新分享周