引言
登录后可跨设备保存划线和私人笔记登录
文档
Apache Iceberg 是面向海量分析数据集的开放表格式。 Iceberg 通过高性能的表格式为 Spark、Trino、PrestoDB、Flink、Hive 和 Impala 等计算引擎引入了表的概念,其使用方式与 SQL 表完全一致。
用户体验
Iceberg 避免令人不悦的意外。模式演进切实可用,不会在无意间取消删除数据。用户无需了解分区知识即可获得快速查询。
- 模式演进支持新增、删除、更新或重命名,且没有副作用
- 隐藏分区可防止用户操作失误,避免导致结果静默错误或查询极慢
- 分区布局演进可在数据量或查询模式变化时更新表的布局
- 时间旅行支持使用完全相同的表快照进行可复现的查询,也便于用户轻松查看变更
- 版本回滚允许用户将表重置到良好状态,从而快速纠正问题
可靠性与性能
Iceberg 专为超大表而构建。Iceberg 已在生产环境中使用,单表数据量可达数十 PB,即便如此巨大的表也无需分布式 SQL 引擎即可读取。
Iceberg 旨在解决最终一致性云对象存储中的正确性问题。
- 适用于任何云存储,在 HDFS 上通过避免 list 和 rename 操作来减少 NameNode 压力
- 可串行化隔离——表变更具备原子性,读取方永远不会看到部分或未提交的变更
- 多写入方并发采用乐观并发控制,即使写入发生冲突也会重试,以确保兼容的更新最终成功
开放标准
Iceberg 的设计与开发目标是成为开放的社区标准,并提供了规范以确保跨语言和跨实现的兼容性。
评论
登录后参与评论
正在加载评论…
KnowForge