【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.mzph.cn/news/673716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Docker 镜像预热提升容器启动效率详解

概要 在容器化部署中,Docker 镜像的加载速度直接影响到服务的启动时间和扩展效率。本文将深入探讨 Docker 镜像预热的概念、必要性以及实现方法。通过详细的操作示例和实践建议,读者将了解如何有效地实现镜像预热,以加快容器启动速度,提高服务的响应能力。 Docker 镜像预热…

使用influxdb+Grafana+nmon2influxdb+nmon实时监控vps性能

Grafana可以用来实时查看linux系统的各种性能数据。 1、安装环境: centos 7influxdb1.7.6grafana-4.6.3-1nmon2influxdb-2.1.7nmon-16m 2、安装influxdb: 下载rpm包: influxdb官网:https://docs.influxdata.com/influxdb/v2.0…

Debezium发布历史115

原文地址: https://debezium.io/blog/2021/11/30/debezium-1.8-beta1-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 1.8.0.Beta1 Released November 30, 2021 by Gunnar Morlin…

【Git版本控制 01】基本操作

目录 一、初始配置 二、添加文件 三、查看日志 四、修改文件 五、版本回退 六、撤销修改 七、删除文件 一、初始配置 Git版本控制器:记录每次的修改以及版本迭代的一个管理系统。 # 初始化本地仓库:git init(base) [rootlocalhost gitcode]# gi…

NLP_语言模型的雏形 N-Gram 模型

文章目录 N-Gram 模型1.将给定的文本分割成连续的N个词的组合(N-Gram)2.统计每个N-Gram在文本中出现的次数,也就是词频3.为了得到一个词在给定上下文中出现的概率,我们可以利用条件概率公式计算。具体来讲,就是计算给定前N-1个词时&#xff0…

ChatPromptTemplate和AI Message的用法

ChatPromptTemplate的用法 用法1: from langchain.chains import LLMChain from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_community.tools.tavily_search import TavilySear…

STM32 微控制器应用领域

STM32 微控制器在多个领域有广泛应用,具体如下: 工业自动化:STM32 在工厂自动化、机器人控制、传感器接口和数据采集等方面具有出色的性能和可靠性,有助于实现高效的工业自动化系统。消费电子:STM32 适用于智能手机、…

阿里 EasyExcel 表头国际化

实体类字段使用EasyExcel提供的注解ExcelProperty,value 值写成占位符形式 ,匹配 i18n 文件里面的编码。 如: /*** 仓库名称*/ ExcelProperty("{warehouse.record.warehouseName}") private String warehouseName;占位符解析器 A…

《电子芯片的夜晚》

《电子芯片的夜晚》 在这个寂静的城市中,有一位名叫小明的程序员。他不同寻常,因为他有一项神奇的技能——他能够让电子芯片们说出自己的故事。 一天,小明收到了一块别具灵性的电子芯片,传说这块芯片能够在夜晚让设备们复活&…

笔记---dp---数字三角形模型

所谓数字三角形模型,即是从数字三角形这一题衍生出来的 题目为经典题目,不再赘述,此笔记根据AcWing算法提高课来进行对数字三角形模型衍生例题的记录 题目关系如下(见AcWing里的AcSaber): AcWing.1015.摘…

哪些软件可以提供更好的协同办公体验?

协同办公软件的选择取决于您的具体需求,包括团队规模、工作流程、预算以及所需的特定功能。根据搜索结果,这里有一些被推荐的协同办公软件,它们在不同的领域提供了良好的协同体验: 一、文档协同: 1.Pixso:这…

微信小程序(三十八)滚动容器

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.滚动触底事件 2.下拉刷新事件 源码&#xff1a; index.wxml <view class"Area"> <!-- scroll-y 垂直滚动refresher-enabled 允许刷新bindrefresherrefresh 绑定刷新作用函数bindscrollto…

单片机无线发射的原理剖析

目录 一、EV1527编码格式 二、OOK&ASK的简单了解 三、433MHZ 四、单片机的地址ID 五、基于STC15W104单片机实现无线通信 无线发射主要运用到了三个知识点&#xff1a;EV1527格式&#xff1b;OOk&#xff1b;433MHZ。下面我们来分别阐述&#xff1a; EV1527是数据的编…

【算法题】92. 反转链表 II

题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;[…

Android 9.0 禁用adb reboot recovery命令实现正常重启功能

1.前言 在9.0的系统rom定制化开发中,在定制recovery模块的时候,由于产品开发需要要求禁用recovery的相关功能,比如在通过adb命令的 adb reboot recovery的方式进入recovery也需要实现禁用,所以就需要了解相关进入recovery流程来禁用该功能 2.禁用adb reboot recovery命…

【力扣 67】二进制求和 C++题解(位运算+模拟+字符串+位集合)

给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a “11”, b “1” 输出&#xff1a;“100” 示例 2&#xff1a; 输入&#xff1a;a “1010”, b “1011” 输出&#xff1a;“10101” 提示&#xff1a; 1 <…

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

Golang 基础 Go Modules包管理

Golang 基础 Go Modules包管理 在 Go 项目开发中&#xff0c;依赖包管理是一个非常重要的内容&#xff0c;依赖包处理不好&#xff0c;就会导致编译失败&#xff0c;本文将系统介绍下 Go 的依赖包管理工具。 我会首先介绍下 Go 依赖包管理工具的历史&#xff0c;并详细介绍下…

LeetCode动态规划的解题思路

动态规划 动态规划&#xff0c;其实就是找规律&#xff0c;总结公式/方程。 动态规划&#xff0c;类似于数学归纳法。 关键的思想在「自底向上」和「空间换时间」。 动态规划&#xff0c;可以使用一维数组&#xff0c;有时也会用到二维数组。 应用场景 “动态规划”可以用于…

idea2023创建spring项目无法选择Java8

idea2023创建spring项目无法选择Java8 今天下载了新版的idea 2023.3.2&#xff0c;但是在创建springboot项目的时候只能选择Java17和Java21&#xff0c;没法选择其他的版本。 使用下面阿里云的地址替换Server URL中的start.spring.io的地址即可 https://start.aliyun.com/替…