上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

3-2 数据湖 Iceberg 在小米的落地及实践.pdf

编号:102388 PDF 33页 2.40MB 下载积分:VIP专享
下载报告请您先登录!

3-2 数据湖 Iceberg 在小米的落地及实践.pdf

1、数据湖ICEBERG在小米的落地与实践小米-李培殿|目录目录CONTENT|01Iceberg 技术简介02Iceberg在小米的应用实践03基于 Iceberg 的流批一体的探索04未来规划Iceberg技术简介01|Iceberg 简介|Apache Iceberg is an open table format for huge analytic datasets.Iceberg adds tables to compute engines including Spark,Trino,PrestoDB,Flink and Hive using a high-performance tab

2、le format that works just like a SQL table.Iceberg 简介|存储与计算分离计算引擎选择更灵活屏蔽底层文件存储细节,对外暴露都是一张Iceberg表文件布局|Metadata(元数据文件)记录了最新的快照信息和历史快照信息,以及最新的Schema信息。Snapshot(快照文件)每次事务提交都会生成一个Snapshot。记录了本次提交新增的清单文件和历史清单文件列表(Manifest List)。Manifest(清单文件)记录了本次事务写入的文件和分区的对应关系,以及字段统计信息(最大值、最小值)。Data File(数据文件)实际写入的数据文件

3、,如Parquet、Avro等格式文件。事务性|避免脏数据读写分离隐式分区|根据数据自动推断分区分区不和目录强绑定灵活的分区变更行级更新|format version更新方式更新方式V1Copy On WriteV2Copy On Write、Merge On ReadIceberg在小米的应用实践02|数据湖在小米应用现状|表数量表数量4000+数据量数据量8PB+v1表数量表数量1000+v2表数量表数量3000+ChangLog 数据入湖|ChangLog 数据入湖优点|近实时分析支持流式消费同步变更Schema 成本低ChangLog 入湖分区的选择-自增 Id 为主键|Bucket分

4、区分区数据均匀分布所有分区都可能需要 Compaction随着数据量增加,分区数不变Truncate分区分区数据只写入最近几个分区只对最近几个分区 Compaction随着数据量增加分区数递增ChangeLog 数据入湖产品化|日志数据入湖|隐式分区避免数据漂移问题隐式分区保证延迟数据正确分区Flink+Iceberg 事务性保证数据不丢不重支持 Schema 同步变更日志数据入湖产品化|Iceberg-governance 服务|Compaction服务服务 合并小文件、merge delete filesExpire Snapshots服务服务 过期 snapshotsOrphan Fil

5、es clean服务服务 清理孤儿文件Hive 升级 Iceberg|压缩方式压缩方式存储格式存储格式Parquet+ZSTD 存储节约存储节约UNCOMPRESSEDTEXT80%SNAPPYSequenceFile30%+SNAPPYParquet30%+GZIPParquet5%在 Compaction 中配置更高的 compression level 获得更高的压缩率Hive 升级 Iceberg 产品化|基于 Iceberg 的流批一体的探索03|Lambda 架构|实时链路提供时效性离线链路提供准确性离线数据支持回溯离线数据可供OLAP查询实时链路不支持OLAP 查询实时链路回溯能

6、力有限两套存储,存储成本高两套代码,开发维护成本高实时离线数据不一致数据湖架构|Iceberg 存储上统一 Flink 计算引擎统一 支持回溯 支持 OLAP 查询 支持构建变更流为什么需要离线作业来修数据?|Flink 状态过期导致没 Join 上Watermark 设置导致延迟数据丢失Lookup Join 完成后维表发生了变更Overwrite VS Merge Into?|MERGE INTO prod.db.target t -a target tableUSING(SELECT.)s -the source updatesON t.id=s.id AND t.date=202206

7、01-condition to find updates for target rowsWHEN MATCHED AND s.op=delete THEN DELETEWHEN MATCHED AND t.count IS NULL AND s.op=increment THEN UPDATE SET t.count=0WHEN MATCHED AND s.op=increment THEN UPDATE SET t.count=t.count+1wWHEN NOT MATCHEDTHEN INSERT*Overwrite VS Merge Into?|Overwrite 分区覆盖 语法简单

8、性能好 可能导致下游消费波动Merge Into 增量更新 语法复杂 性能不如 overwrite 下游只消费变更数据Merge Into 增量同步数据|Merge Into 更新 Iceberg,Flink 同步变更至下游不同的分区带来的问题|ProcessTime 分区 实时总是写入 T 分区 离线修正 T-1 分区(Overwrite)实时离线处理的数据无交集EventTime 分区 实时写入对应分区 离线修复历史全量(Merge Into)实时离线处理的数据存在交集Merge Into 的隔离级别带来的问题|Serializable isolation level 与提交过程中其他已成功提交事务冲突则本次提交失败 离线作业失败概率增加使用 Serializable isolation level,实时只处理 T 分区的变更,T-N分区变更由离线修正Snapshot isolation level 覆盖提交过程中其他已提交事务的更新 丢失中间事务的更新构建流批一体的链路|未来规划04|未来规划|Flink CDC2.0 跟进Compaction优化及治理Flink 1.14跟进非常感谢您的观看|

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(3-2 数据湖 Iceberg 在小米的落地及实践.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部