当前位置: 首页 > article >正文

【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 软件基金会进行开发。


http://www.kler.cn/a/229051.html

相关文章:

  • PDF文件提取开源工具调研总结
  • 联通用户管理系统(一)
  • ubuntu开机自启某个应用
  • JavaWeb 前端基础 html + CSS 快速入门 | 018
  • 意图颠覆电影行业的视频生成模型:Runway的Gen系列
  • 基于微信小程序的摄影竞赛系统设计与实现(LW+源码+讲解)
  • 飞天使-k8s知识点12-kubernetes散装知识点1-架构有状态资源对象分类
  • PostgreSQL解决序列(自增id)自动增长冲突
  • 电路设计(10)——超温报警电路的proteus仿真
  • Windows10安装VScode + mingw64 + GSL
  • 【C++搜索二叉树】
  • HuggingFace库中BERTForxxx模型代码详细分析 使用BERT进行无监督预训练
  • 第97讲:MHA高可用集群模拟主库故障以及修复过程
  • Java大致面试题及答案,文档格式为md格式
  • 【计算机二级考试C语言】C排序算法
  • 各种编程语言送祝福:2024龙年大吉
  • sqli.labs靶场(54-65关)
  • 适用于 Windows 和 Mac 的 16 款最佳数据恢复软件
  • 软件漏洞概念与原理
  • Zookeeper相关面试准备问题
  • 改变终端安全的革命性新兴技术:自动移动目标防御技术AMTD
  • 【自定义序列化器】⭐️通过继承JsonSerializer和实现WebMvcConfigurer类完成自定义序列化
  • oracle视图二次查询慢
  • C++类与对象(下)
  • 第十二讲_JavaScript浏览器对象模型BOM
  • Redis 持久化对性能有何影响?