一、Iceberg概念及特点
Apache Iceberg是一种用于大型数据分析场景的开放表格式(Table Format)。Iceberg使用一种类似于SQL表的高性能表格式,Iceberg格式表单表可以存储数十PB数据,适配Spark、Trino、Flink和Hive等计算引擎提供高性能的读写和元数据管理功能,Iceberg是一种数据湖解决方案。
注意:Trino就是原来的PrestoSQL,2020年12月27日,PrestoSQL项目更名为Trino,Presto分成两个分支:PrestoDB、PrestoSQL。
Iceberg非常轻量级,可以作为lib与Spark、Flink计算引擎进行集成。
Iceberg具备以下特点:
- Iceberg支持实时/批量数据写入和读取,支持Spark/Flink计算引擎。
- Iceberg支持事务ACID,支持添加、删除、更新数据。
- 不绑定任何底层存储,支持Parquet、ORC、Avro格式兼容行存储和列存储。
- Iceberg支持隐藏分区和分区变更,方便业务进行数据分区策略。
- Iceberg支持快照数据重复查询,具备版本回滚功能。
- Iceberg扫描计划很快,读取表或者查询文件可以不需要分布式SQL引擎。
- Iceberg通过表元数据来对查询进行高效过滤。
- 基于乐观锁的并发支持,提供多线程并发写入能力并保证数据线性一致。
二、Iceberg的数据存储格式
- data files(数据文件)
数据文件是Apache Iceberg表真实存储的文件,一般是在表的数据存储目录的data

ApacheIceberg是一个开放的表格式,适用于大规模数据分析,支持Spark、Trino、Flink和Hive等计算引擎。它提供ACID事务、灵活的数据存储格式(如Parquet、ORC、Avro)以及实时/批量数据操作。Iceberg的特色包括分区策略、隐藏分区、表和分区的演进,以及高效的元数据管理,允许在不重写数据的情况下进行模式和分区的修改。此外,它还支持列顺序的演化,允许修改已有表的排序策略。
最低0.47元/天 解锁文章
585

被折叠的 条评论
为什么被折叠?



