1、DataFunSummit#2024Delta Lake 3.1 最新最新特征特征刘兆磊(Fred Liu)-Databricks-软件工程师目录目录 CONTENT 2023 回顾 Delta Lake 3.1 最新特性 Update and Merge with Deletion Vector 删除向量 Metadata only optimize on count/min/max 元数据查询优化 Universal Format 统一格式(iceberg,Hudi)Delta Lake 测评与比较Delta Lake 202331.6x 1.6x 下载增长下载增长!Delta Lake
2、3.1最新特性4 Update and Merge with Deletion Vector 删除向量 Metadata only optimize on count/min/max 元数据查询优化 Universal Format(iceberg)统一格式 Delta Sharing 支持直接查询被Delta Share的表 Delta Kernel dataskipping 内核支持基于count/min/max的数据跳过 Delta Flink启动延迟优化Source:https:/ Lake 3.0 Deletion Vector 删除向量ref:https:/delta.io/blo
3、g/2023-07-05-deletion-vectors/5file002.parquetfile002.parquetCol ACol B2baz7foo.28412bambamfile024.parquetfile024.parquetCol ACol B2baz7QUX.28412bambam在Deletion Vector之前,更新一行需要重写整个文件元数据文件数据文件Delta Lake 3.0 Deletion Vector 删除向量file002.parquetfile002.parquetCol ACol B2baz7foo.28412bambamfile024.parque
4、tfile024.parquetCol ACol B7QUXFilefile002.parquet00000.json00000.jsonFileDeletionsfile002.parquetdelete row 2file024.parquet00001.json00001.jsonDeletion Vector只需写入一行,并在元数据里标记删除Delta Lake 3.1 删除向量评测Merge Merge 快快 3.7x 3.7x,Update/DeleteUpdate/Delete至多快至多快10 x10 x;读取性能基本一致读取性能基本一致Delta Lake 3.1 删除向量与其
5、他格式 Iceberg 在 format version 2里支持merge on read,通过支持“delete file”实现 Hudi支持merge on read,通过row based change log 文件实现 以上格式在读取MOR表时均需读取额外的数据文件及计算,性能受到一定损失,Delta Lake可选在元数据里写入DeletionVector,不需读取额外数据Delta Lake 3.1 元数据查询优化读取表元数据读取表元数据得到数据文件列表得到数据文件列表引擎读取所有数据引擎读取所有数据文件文件,再聚合再聚合SELECT count(SELECT count(*),m
6、ax(c1),min(c1)FROM t1),max(c1),min(c1)FROM t1Delta Lake 3.1 元数据查询优化FileStatsf1.parquetc1 max:1;c1 min:0,rowCnt:10f2.parquetc1 max:10;c1 min:5,rowCnt:1000001.json/00001.json/00000.checkpoint.parquet00000.checkpoint.parquetSELECT count(SELECT count(*),max(c1),min(c1)FROM t1),max(c1