【Iceberg学习一】什么是Iceberg?

Apache Iceberg 是一个面向大型分析数据集的开放表格格式。Iceberg 为包括 Spark、Trino、PrestoDB、Flink、Hive 和 Impala 在内的计算引擎增加了表格功能,使用一种高性能的表格格式,其工作方式就像一个 SQL 表一样。

用户体验

Iceberg 避免了不愉快的意外。模式演化功能正常运作,并不会无意中恢复已删除的数据。用户无需了解分区信息也能获得快速查询。

  1. 模式演化 支持添加、删除、更新或重命名操作,且无任何副作用。
  2. 隐藏分区 可以防止用户错误,避免产生无提示的错误结果或极其缓慢的查询。
  3. 分区布局演化 能够根据数据量或查询模式的变化更新表的布局。
  4. 时间旅行功能 允许进行可复现的查询,使用的是完全相同的表快照,或者让用户轻松检查变化。
  5. 版本回滚允许用户通过将表格重置为良好状态来快速纠正问题。

可靠性和性能

Iceberg 为庞大的表格而构建。在生产环境中,Iceberg 被用于管理单个表格可包含数十PB(千兆字节)的数据,即使是这样巨大的表格也能在没有分布式SQL引擎的情况下读取。

  1. 扫描规划速度快 —— 读取表格或查找文件不需要分布式SQL引擎。
  2. 高级过滤 —— 使用表元数据,通过分区和列级统计信息来剪枝数据文件。

Iceberg 旨在解决最终一致性云对象存储中的正确性问题。

  1. 适用于任何云存储,在HDFS中通过避免listing和重命名操作, 减少NN(名称节点)拥塞。
  2. 可序列化隔离 —— 表格变更是原子性的,读取者永远不会看到部分或未提交的变更。
  3. 多个并发写入者使用乐观并发控制,并会重试以确保当写入操作冲突时兼容的更新能够成功。

开放标准

Iceberg 被设计和开发成一个开放的社区标准,拥有一个规范以确保跨语言和实现的兼容性。

Apache Iceberg 是开源的,在 Apache 软件基金会进行开发。

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周润发的弟弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值