Databend 开源周报第 140 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。

What's On In Databend

探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。

支持 EXECUTE IMMEDIATE

Databend 现已支持 EXECUTE IMMEDIATE 命令,此命令允许用户在单个语句中执行复杂的 SQL 逻辑,提供更为灵活的 SQL 处理能力。

示例如下:

EXECUTE IMMEDIATE $$
BEGINLET x := 1;LET y := x + 1;LET z RESULTSET := SELECT :y + 1;RETURN TABLE(z);
END;
$$;
----
┌───────┐
│ 2 + 1 │
│ UInt8 │
├───────┤
│     3 │
└───────┘

此特性使 Databend 能够更好地支持复杂的数据处理场景。并进一步推进了我们在支持存储过程和 SQL 脚本方面的工作。也欢迎感兴趣的小伙伴一起参与相关功能的开发迭代。

如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。

  • PR #15144 | feat: add EXECUTE IMMEDIATE statement 
  • Issue #14904 | Feature: Stored procedure and SQL Scripting

Code Corner

一起来探索 Databend 和周边生态中的代码片段或项目。

技术:Towards Efficient Distributed Group Aggregation

在大规模数据分析(OLAP)中,分组聚合(Group Aggregation)是一项广泛应用的技术。与常规的 SELECT 查询不同,分组聚合会对数据集按照组划分并对组数据进行聚合,从而改变结果基数。

受到 DuckDB 博客的启发,Databend 开发了一种新型的聚合哈希表来优化分组聚合的处理效率。此外,为了更好地适应分布式场景,Databend 也设计并实现了一系列针对分布式的优化。 

Blog | Towards Efficient Distributed Group Aggregation

Highlights

以下是一些值得注意的事件,也许您可以找到感兴趣的内容。

  • 支持 ST_GEOMPOINTFROMGEOHASH 和 ST_MAKEPOLYGON 地理信息函数。
  • 支持变更表注释。
  • 为时间旅行支持偏移量。
  • 阅读文档 Docs | Full-Text Index 了解 Databend 全文索引能力。

What's Up Next

我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。

在查询日志中增加查询摘要

查询摘要是对查询的总结,如果两个查询的摘要相同,这意味着它们共享相同的模式。例如,以下两个查询摘要是相同的:

"SELECT id FROM t1 WHERE name = 'a';"
"SELECT id FROM t1 WHERE name = 'b';"

通过检查各自的查询摘要,可以确定哪种查询模式耗时更多,有助于优化数据库性能和资源利用。

Issue #15164 | feat: add query digest to query_log

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 GitHub service · Issue #4253 · apache/opendal · GitHub 来挑选一个随机问题,祝好运!

Changelog

前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。

地址:Releases · datafuselabs/databend · GitHub

Contributors

非常感谢贡献者们在本周的卓越工作。

Connect With Us

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

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

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

相关文章

RabbitMQ项目实战(二)

文章目录 项目改造实现步骤 项目改造 以前把任务提交到线程池,然后在线程池提交中编写处理程序的代码,线程池内排队。 如果程序中断了,任务就没了,就丢了。 改造后的流程: 把任务提交改为向队列发送消息写一个专门接…

Android开发——ListView

activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_height"match_parent"android:layout_width"match_parent"…

SpringBoot使用maven指定依赖包的版本

目录 1. 解决示例2. 完整pom示例 前言&#xff1a;我们在使用A依赖的时候&#xff0c;这个依赖有引入了第三方B依赖&#xff0c;这时候我想指定B依赖的版本号 1. 解决示例 我想将 mysql、logback、tomcat 的版本升级到指定版本 只需在 pom.xml 文件的 properties 里面添加如下…

3D模型格式转换工具HOOPS Exchange:3D CAD数据的快速导入与导出

在当今的工程设计领域中&#xff0c;快速且可靠地处理3D CAD数据是至关重要的。HOOPS Exchange SDK通过提供一组C软件库&#xff0c;为开发团队提供了实现这一目标的有效工具。 什么是HOOPS Exchange&#xff1f; HOOPS Exchange是一组C软件库&#xff0c;旨在为开发团队提供…

已解决 数据库异常 SQLSyntaxErrorException:FUNCTION count does not exist.

今天排查问题看到数据库报错 Caused by: java.sql.SQLSyntaxErrorException: FUNCTION your_table_name(你的数据库名字).count does not exist. Check the Function Name Parsing and Resolution section in the Reference Manual然后查了很久才找到问题 在COUNT和括号之间有…

YOLOv1精读笔记

YOLO系列 摘要1. 将目标检测视为一个回归问题2. 定位准确率不如 SOTA&#xff0c;但背景错误率更低3. 泛化能力强 1.引言1.1 YOLO 速度很快1.2 全局推理 2. Unified Detection2.1 网络设计2.2 训练YOLOv1模型损失函数的选择和其潜在的问题YOLOv1模型如何改进其损失函数来更好地…

反射应用简单案例

day40 反射应用 案例 1.万能数组扩容 设置泛型的copyof仅支持引用数据类型&#xff0c;即任意类型&#xff0c;直接new数组不行&#xff0c;利用反射实现扩容&#xff1b; 打印调用toString也进行编写&#xff0c;利用StringBuffer或者StringBiulder进行字符串拼接 public c…

华为OD-C卷-伐木工[200分]Python3-100%

题目描述 一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。 规定切割后的每根木头长度都为正整数;也可以不切割,直接拿整根树木进行交易。 请问伐木工如何尽量少的切割,才能使收益最大化? 输入描述 木材的长度(X ≤ 50) 输出描…

tomcat部署两个相同端口前端,一个后端(Windows)

tomcat/webapps下 互联网端的包为ROOT和XXX&#xff08;XXX为项目名&#xff09; 一体机端只有一个前端包ABC 把ROOT下的所有文件剪切到XXX下的WEB-INF下classes下创建一个文件夹名叫static 把新的一体机的前端ABC的文件放到ROOT下即可 注意&#xff1a;ABC和static下的ind…

【史上最全】带你全方位了解containerd 的几种插件扩展模式

除了 snapshotter&#xff0c;containerd 的扩展机制你还了解哪些&#xff1f; 本文内容节选自 《containerd 原理剖析与实战》&#xff0c;本书正参加限时优惠内购&#xff0c;限时 69.9 元购买。 进入正题之前先看一下 containerd 的整体架构 1. containerd 架构 图 contain…

List<int[]>[] g = new ArrayList[n];

在Java中&#xff0c;List<int[]>[] g new ArrayList[n]; 这行代码定义了一个数组 g&#xff0c;该数组的每个元素都是一个 ArrayList<int[]> 类型的对象。这里&#xff0c;n 是预期图中顶点的数量&#xff0c;因此 g 数组的长度是 n。 List<int[]>&#x…

UE4_常见动画节点学习_Two Bone IK双骨骼IK

学习资料&#xff0c;仅供参考&#xff01; Two Bone IK 控制器将逆运动&#xff08;IK&#xff09;解算器应用于到如角色四肢等3关节链。 变量&#xff08; HandIKWeight &#xff09;被用于在角色的 hand_l 和 hand_r 控制器上驱动 关节目标位置&#xff08;Joint Target Lo…

Elasticsearch克隆索引

我所使用的Elasticsearch的版本是基于7.17.7。 需求是将某个ES的索引进行克隆。例如我要将索引test_0419_1克隆一份新的索引test_0419_2。步骤如下&#xff1a; 首先将源索引进行修改PUT /test_0419_1/_block/write&#xff0c;即禁止对这个索引进行写数据操作。然后执行克隆…

Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题

连接报错 解决方案 解决方法1&#xff1a;升级navicat 解决方法2&#xff1a;降级pgsql 解决方法3&#xff1a;修改dll 使用3解决 实操演示 1、 打开 Navicat 安装目录&#xff0c;找到libcc.dll文件 2、备份libcc.dll文件&#xff0c;将其复制并粘贴或者修改副本为任何其他名…

java知识点 --- 类

在 Java 中&#xff0c;类&#xff08;Class&#xff09;是一个核心的面向对象编程概念&#xff0c;它扮演着构建软件组件的基本单元的角色。类是定义对象的蓝图或模板&#xff0c;它包含了创建特定类型对象所需的数据&#xff08;称为成员变量或属性&#xff09;和行为&#x…

前摇和后摇

在许多动作游戏和竞技游戏中&#xff0c;特别是那些包含战斗机制的游戏&#xff0c;“前摇”&#xff08;Pre-cast delay&#xff09;和"后摇"&#xff08;Post-cast delay&#xff09;是描述特定动作或技能释放过程中的两个关键阶段。这些概念主要用于增加游戏的战术…

【C++杂项】cin的详细用法

cin详细用法 1. cin简介2. cin的常用读取方法2.1 cin>>的用法2.2 cin.get的用法2.3 cin.getline的用法 3. cin清空输入缓冲区4. 其它方法4.1 getline()读取一行 1. cin简介 cin是C中的标准输入流对象&#xff0c;即istream类的对象。cin主要用于从标准输入读取数据&…

ORACLE中impdp导入多个文件的方法

1、多个文件导入dumpfileexpdp_full_qytcdb_20240412_%U.dmp&#xff0c;%U代表01、02、03这些 impdp sys/123456192.168.1.200:1521/Oracle directoryjy dumpfileexpdp_full_20250412_%U.dmp logfileimpdp_$(date %Y%m%d).log table_exists_actionskip fully parallel8; 2、…

DNS服务器的管理与配置

目录 一、相关知识 域名空间 DNS服务器分类 域名解析过程 资源记录 二、安装DNS服务 安装bind软件包 DNS服务的启动与停止 配置主要名称服务器 主配置文件 从例子学起&#xff1a; &#xff08;1&#xff09;建立主配置文件named.conf &#xff08;2&#xff09;…

Windows10安装Docker Desktop(大妈看了都会)

目录 Windows10安装Docker Desktop&#xff08;大妈看了都会&#xff09; 1.前言 1.1 为什么要在Windows10上安装Docker 1.2 Docker Desktop介绍 2.下载Docker Desktop 3.启用Hyper-V以在 Windows 10上创建虚拟机 4.安装Docker Desktop 5.运行Docker Desktop 6.Docker…