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