Apache Impala 4.4.0正式发布了!

历时半年多,Impala 4.4终于发布了!本次更新带来了不少新功能,受限于篇幅,这里简要列举一些,后续文章再挑重点的进行介绍。

支持更多Iceberg表上的语句

支持对 Iceberg V2 表的 UPDATE 语句,用来更新已有数据。
支持 DROP PARTITION 语句删除 Iceberg 表的分区。
支持 OPTIMIZE 语句做 compaction 来清理小文件和delete文件等。
支持读取包含 equality delete 的数据。
支持用SQL语句查询 Iceberg 表的元数据(如history、snapshots等)。
支持建表时指定主键。
此外还优化了Iceberg V2表上的读性能。

历史信息查询

Impala会维护一个内部 Iceberg 表记录历史查询信息,该表由 Coordinator 自动创建,记录了每个查询的基本信息,包括从query profile中提取的信息,如内存使用量、spill-to-disk数据量等(IMPALA-12426)。

值得一提的是,Impala也维护了一个内存中的表来查询正在运行的查询信息 (IMPALA-12540)。

Event Processor增强

EventProcessor是Catalogd中的一个组件,用来从HMS拉取更新(即event)并回放到元数据缓存中。Impala 4.4对EventProcessor做了若干提升,如:

  • Event处理失败时自动Invalidate对应的表并继续处理下一个Event (IMPALA-12832)。之前的版本需要管理员执行全局 Invalidate Metadata 来恢复,代价较大。
  • 更多的性能提升,如
    • 更高效地处理不连续的同表事件(IMPALA-12463)
    • ALTER_TABLE事件尽可能不刷新文件元信息(IMPALA-12487)
    • 只拉取需要的事件类型(IMPALA-12399、IMPALA-12933)
  • 更多的bug修复,如 IMPALA-12561、IMPALA-12719等
  • 提高了EventProcessor的可见性,如展示与HMS元数据的延迟、展示当前正在处理的一批事件的信息、日志展示导致事件处理延迟的Top-10个事件等。

更丰富的查询WebUI展示

Impala 4.3开始增加了查询各个Fragment的Timeline展示,Impala 4.4在同个页面增加了资源负载(如CPU、网络、磁盘)的展示。如图
Query Timeline展示
另外/queries页面还支持导入JSON格式的profile,可以展示同样的信息。

Catalogd 和 Statestore HA

Impala的Coordinator天然就是HA的,如果有服务(impalad/catalogd/statestore)挂了,集群还能部分提供服务。Impala 4.4开始支持 Catalogd 和 Statestore 的 HA,保证有单一节点宕机时,集群能正常提供服务。

支持读取JSON格式的表

支持读取文件格式为JSON的Hive表。具体地说,JSON表也是Text格式的表,只不过 SerDe Library 设的是 org.apache.hadoop.hive.serde2.JsonSerDe。这种表也可以启用压缩,Impala都能读取。

通过JDBC读取外部数据源的数据

Impala 4.4开始支持读取 MySQL/Postgres 等提供JDBC接口的数据源,建表语句示例:

CREATE EXTERNAL TABLE alltypes_jdbc_datasource (id INT,bool_col BOOLEAN,tinyint_col TINYINT,smallint_col SMALLINT,int_col INT,bigint_col BIGINT,float_col FLOAT,double_col DOUBLE,date_col DATE,string_col STRING,timestamp_col TIMESTAMP)
STORED BY JDBC
TBLPROPERTIES (
"database.type"="POSTGRES",
"jdbc.url"="jdbc:postgresql://localhost:5432/functional",
"jdbc.driver"="org.postgresql.Driver",
"driver.url"="/test-warehouse/data-sources/jdbc-drivers/postgresql-jdbc.jar",
"dbcp.username"="hiveuser",
"dbcp.password"="password",
"table"="alltypes");

其它改进

内存预估改善,如考虑RuntimeFilter的影响(IMPALA-12018)、优化聚合的预估(IMPALA-11842、IMPALA-12183)等。

Query Profile提供更多信息,如DDL/DML在catalogd中执行的Timeline、Executor负载(IMPALA-12834)等。

catalogd网页展示DDL/DML运行时信息和历史信息

支持SHOW VIEWS语句

在executor中预聚合RuntimeFilter(IMPALA-3825)

支持生成DEB/RPM包

开发者名单

以下是Impala 4.4的开发者名单(按英文名首字母排序),感谢他们的贡献!
Abhishek Rawat
Andrew Sherman
Anshula Jain
Csaba Ringhofer
Daniel Becker
David Rorke
Fang-Yu Rao
Fucun Chu
Gabor Kaszab
Gaurav Singh
Gaurav Singh (gaurav1086)
Gergely Farkas
Gergely Fürnstáhl
Halim Kim (halim.kim)
Jason Fehr (jasonmfehr)
Ji Chen (jichen0919)
Joe McDonnell
Kurt Deschler
Laszlo Gaal
Lili Fu (fulili)
Maxwell Guo
Michael Smith
Noemi Pap-Takacs
Peter Rozsa
Pranav Yogi Lodha (pranavyl)
Quanlong Huang (stiga-huang)
Riddhi Jain
Riza Suminto
Sai Hemanth Gantasala
Saurabh Katiyal
Sebastian Pop
Shajini Thayasingh
Surya Hebbar
Tamas Mate
Venu Reddy
Wenzhe Zhou (wzhou-code)
Xiang Yang
Yida Wu
Yifan Zhang (zhangyifan27)
Zhi Tang (ttttttz)
Zihao Ye (Eyizoha)
Zinway Liu
Zoltan Borok-Nagy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18199.shtml

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

相关文章

解析新加坡裸机云多IP服务器网线路综合测评解析

在数字化高速发展的今天,新加坡裸机云多IP服务器以其卓越的性能和稳定性,成为了众多企业和个人用户的首选。源库主机评测将对新加坡裸机云多IP服务器的网线路进行综合测评,以帮助读者更深入地了解这一产品的优势。 一、性能表现 新加坡裸机云…

【RocketMQ】安装RocketMQ5.2.0(单机版)

下载 官网下载地址:下载 | RocketMQ github地址:Tags apache/rocketmq GitHub 选择对应的版本下载。https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip 5.2.0的二进制包:下载地址 5.2.0的…

设计模式:装饰模式(Decorator)

设计模式:装饰模式(Decorator) 设计模式:装饰模式(Decorator)模式动机模式定义模式结构时序图模式实现在单线程环境下的测试在多线程环境下的测试模式分析优缺点适用场景应用场景应用实例模式扩展参考 设计…

Firefox浏览器网页上的按钮点击无效解决办法

我在github下点下载经常不好使,查了原因,原来是浏览器的问题。在Firefox浏览器的设置里面,去掉一些cookies的禁用即可。之后,就可以点击按钮成功响应了。

2024 全新 Javascript 面试题目基础篇

1. JavaScript 是单线程的吗? 没错,JavaScript 是 一种 单线程语言。这意味着它只有 一个调用栈和一个内存堆。每次只执行一组指令。 此外,JavaScript 是同步和阻塞 的性质。这意味着代码是逐行执行的,一个任务必须在下一个任务…

JVM的相关知识

目录 JVM内存划分 类加载过程 类加载中的“双亲委派模型” JVM内存划分 JVM也就是java进程。这个进程一旦跑起来之后,就会从操作系统里,申请一大块内存空间。JVM接下来就要进一步的对这个大的空间进行划分。划分成不同区域,从而每个区域都…

如何实时掌握手机号状态的API利器分析

在移动互联网的时代,手机号码不仅是通信的连接点,也是用户身份的关键识别。手机状态查询API 通过提供实时的手机号码状态查询服务,协助企业和组织更有效地管理用户信息,提升服务流程。 手机状态查询API 通过与电信运营商的数据库进…

Golang | Leetcode Golang题解之第117题填充每个节点的下一个右侧节点指针II

题目: 题解: func connect(root *Node) *Node {start : rootfor start ! nil {var nextStart, last *Nodehandle : func(cur *Node) {if cur nil {return}if nextStart nil {nextStart cur}if last ! nil {last.Next cur}last cur}for p : start; …

学至乎没而后止也

开场白 学至后没而后止也这个题目的原话来自与荀子《劝学》。大家知道什么意思吗?学习要学到你人没了,才算停止了。通俗点说就是只要没学死就往死里学,高雅点说就是要保持终身学习。 在以前说终身学习好像是一种良好习惯或品德,…

43-2 Linux入侵排查实验

环境准备: 老规则,我没有靶场就自己搭建了类似, 这里准备一台CentOS 7虚拟机作为受害者,然后使用CS制作木马并在受害者主机上线,具体过程可以看我之前写的一篇文章: 黑客必备利器:如何在系统上安装和使用 CobaltStrike(简称:CS)_cobalt strike-CSDN博客 最终的效果…

CANDela studio之CDDT与CDD

CDDT有更高的权限,作为模板规范CDD文件。 CDD可修改的内容比CDDT少。 CDDT根据诊断协议提供诊断格式,主要就是分类服务和定义服务,一般是OEM释放,然后由供应商细化成自己零部件的CDD文件。 在这里举个例子,OEM在CDDT…

Java | Leetcode Java题解之第117题填充每个节点的下一个右侧节点指针II

题目: 题解: class Solution {Node last null, nextStart null;public Node connect(Node root) {if (root null) {return null;}Node start root;while (start ! null) {last null;nextStart null;for (Node p start; p ! null; p p.next) {if…

AIGC中国开发者大会:AI Agent中国落地发展现状及多模态结合具身智能的发展展望

引言 2024年5月25日,第三届AIGC中国开发者大会在昆仑巢成功举办。本次大会围绕“AI Agent的国内应用现状及多模态结合具身智能的发展展望”这一主题,邀请了多位知名企业家、投资人以及技术专家,共同探讨大模型在中国各行各业的应用现状及未来…

AURIX TC3xx单片机介绍-启动过程介绍3

如下的内容是英文为主,对于TC3xx芯片启动原理不清楚的,可以给我留言,我来解答你们的问题! 3.2.1 Reset类型识别 Reset类型的识别是用来判断上次的复位是Application Reset还是System Reset还是CPU0 Reset。基于复位的原因,启动软件会运行不同的分支逻辑。复位原因可以通…

文章结尾,铺垫下一章带来的期待

你是否容易在阅读时打瞌睡? 是否有很多买回来的书,放在书架上一年甚至几年都未读完,积满了灰尘? 但是,对于小说和电视剧,你却完全停不下来。每集片尾的预告激发了你持续观看下一集的渴望,带来了无限的期待…… 当你撰写文章或编写工具书时,内容可能呈现出乏味的面貌…

pelican,一个超强的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超强的 Python 库 - pelican。 Github地址:https://github.com/getpelican/pelican 在当今数字化时代,博客已经成为个人和企业分享信息、展示成果的重要途径。静态网站…

熵值法(熵权法)

熵值法(Entropy Method)是一种多属性决策分析方法,主要用于权重确定、排序和评价。它在风险评估、资源配置、环境管理等领域得到广泛应用。熵值法的核心思想是基于信息熵的概念,利用信息熵来度量各属性对决策的贡献程度&#xff0…

FME学习之旅---day28

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:CSV 入门 逗号分隔值 (CSV) 是一种以 ASCII 文件格式存储结构化信息的方法,从而使其成为一个非常简单的数据库。这使其成为电子表格、数据…

【Qt秘籍】[004]-Qt中的重要工具-介绍

QtCreator概览 当我们打开系统的菜单翻到刚刚下载的Qt文件,里面的内容却让我们眼花缭乱。 不过别急,下面我们将一一解析。 1.Assistant Qt自带的离线版本官方文档 2.Designer Qt图形化设计界面的工具,通过拖拽控件快速生成界面&#xff0c…

Linux 基础笔记(一)

1.ctrl A : 到开头位置; 2.CtrlE : 到结尾位置; 3.ctrlU: 删除光标前内容; 4.ctrlK:删除光标后内容; 5.ctrlL: 清屏; 6.ctrlC:结束当前命令操作; 7.ctrlD:退出当…