多功能分析:Iceberg 设计为开放式且与引擎无关,允许共享数据集。通过我们的贡献,我们扩展了对 Hive 和 Impala 的支持,实现了从大规模数据工程 (DE) 工作负载到快速 BI 和查询(在 DW 内)和机器学习 (ML) 的多功能分析数据架构的愿景.
快速查询计划: 查询计划是在表中查找 SQL 查询所需文件的过程。在 Iceberg 中,Iceberg不是在表中以O(n) 列出分区(运行时的目录列表)以进行查询计划,而是以 O(1) 执行RPC 来读取快照。快速查询计划可实现更低延迟的 SQL 查询并提高整体查询性能。
统一安全: Iceberg 与统一安全层的集成对于任何企业客户来说都是至关重要的。这就是为什么从一开始我们就确保 SDX 的相同安全性和治理适用于 Iceberg 表。
物理和逻辑布局分离: Iceberg 支持隐藏分区。用户不需要知道表是如何分区来优化 SQL 查询性能的。随着数据量的变化,Iceberg 表可以随着时间的推移演变分区模式。不需要昂贵的表重写,并且在许多情况下也不需要重写查询。
高效的元数据管理:与需要跟踪所有 Hive 表分区(分区键值对、数据位置和其他元数据)的 Hive Metastore(HMS)不同,Iceberg 分区将数据存储在文件系统上的 Iceberg 元数据文件中。它消除了 Metastore 和 Metastore 后端数据库的负载。

ACID支持——冰山0.12在2021年8月发布了冰山v2格式,为ACID奠定了基础。为了利用新版本提供的新特性,比如行级删除,Hive和Impala的集成还需要进一步增强。有了这些新的集成,Hive和Spark将能够在Iceberg v2表上运行UPDATE、DELETE和MERGE语句,而Impala也将能够读取这些语句。
表复制—灾难恢复和性能是企业客户的关键特性。冰山表的目标是易于复制,但仍需要与CDP复制管理器进行集成,以实现无缝的用户体验。
表管理——通过避免文件List和相关操作成本,Iceberg表能够比Hive ACID表存储更长的历史。我们将启用自动快照管理和压缩功能,通过只保留相关的快照并将数据重构为查询优化的格式,进一步提高冰山表查询的性能。
时间旅行——我们还考虑了一些额外的时间旅行特性,比如查询两个时间点之间的更改集(delta)(可能使用诸如between或since等关键字)。这些查询的确切语法和语义仍在设计和开发中。
END
原文地址 | https://blog.cloudera.com/introducing-apache-iceberg-in-cloudera-data-platform/
作者 | Bill Zhang, Shaun Ahmadian, Peter Vary, Marton Bod, and Wing Yew Poon
声明:以上内容源于网络,如有侵权,请联系删除!
Apache Iceberg 简介
回顾 | Apache Flink x Iceberg Meetup · 上海站精彩回顾 (附PPT下载)

