Databend 开源周报第 96 期

news2025/1/11 14:03:37

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

What's On In Databend

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

虚拟列

查询 JSON 内部字段的优化方法之一是使用虚拟列。

首先,使用 CREATE VIRTUAL COLUMN 为这些字段创建虚拟列。创建虚拟列后,可以使用 GENERATE VIRTUAL COLUMN 函数生成虚拟列。完成这些步骤后,就可以通过相应的虚拟列直接访问 JSON 内部字段中的数据。

Databend 现在支持用于创建、删除、生成和修改虚拟列的一系列 SQL 语法。下面是一个简单的例子:

create table test (id int, val json);
insert into test values(1, '{"a":33,"b":44}'),(2, '{"a":55,"b":66}');
create virtual columns (val['a'], val['b']) for test;
generate virtual columns for test;
select val['a'], val['b'] from test;
+----------+----------+
| val['a'] | val['b'] |
+----------+----------+
| 33       | 44       |
| 55       | 66       |
+----------+----------+

如果你想要了解更多信息,请查看下面列出的资源。

  • RFC | JSON Optimization - Virtual Column
  • PR | feat(query): Support generate virtual columns

Code Corner

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

由 AskBend 驱动的交互式文档

你还记得 AskBend 吗?AskBend 是使用 Rust 编写的知识库问答系统,由 Databend 和 OpenAI 强力驱动,可以根据 Markdown 文件创建基于 SQL 的知识库。

现在,我们已经将其集成到 Databend 官方网站中,为文档查询提供了交互式体验。

如果你想要了解更多信息,请查看下面列出的资源。

  • https://databend.rs
  • PR | feat(front search): Add AI searching

亮点

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

  • 为窗口函数实现表达式支持。
  • 为 SELECT list 支持 range 函数和别名。
  • 新增基于标签的插入/突变/更新去重支持。
  • 为 COPY INTO 添加优化提示支持。
  • 阅读 Docs | Deploying a Databend Cluster ,以了解手动部署 Databend 集群时的技巧。
  • 阅读 Docs | Data Types - BITMAP 和 Docs | Bitmap Functions ,以理解 Databend 中 BITMAP 数据类型的用法。

What's Up Next

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

使用败者树优化排序算法

目前,Databend 的排序算法使用基于堆的归并排序。

多路合并有三种主要算法:堆排序、胜者树和败者树。在这三个算法中,每次对堆进行调整都需要与左右子节点进行比较。比较次数为2logN,而胜者树和败者树调整的比较次数为 logN 。

它们之间的区别在于,胜者树需要与兄弟节点进行比较并更新父节点,而败者树只需要与父节点进行比较,从而减少了内存访问次数。

Issue #11604 | Feature: Update sort algorithm using Loser Tree

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运!

Changelog

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

地址:https://github.com/datafuselabs/databend/releases

Contributors

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

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

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

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

相关文章

Angular与PDF之四: 反思代码与模板的复用

在我们前面关于Angular与PDF的几篇博客中分别讲了如何在在如何在客户端渲染PDF(Angular与PDF之一:如何在客户端渲染PDF_angular pdf_KenkoTech的博客-CSDN博客) 和预览(Angular 与PDF之二:打印预览的实现_angular pdf预览_KenkoTech的博客-CS…

Easeui 02 tree组件.

1.添加tree组件. tree组件的位置:DataGrid and Tree(表格和树) → tree(树); 复制 tree组件到 "菜单管理"的div里面,如: 这里要动态绑定数据,所以把死数据删除,只留下一个 ul,如&am…

HCIA-动态路由

目录 动态路由: 动态路由的分类 按工作区域分类: 按算法和工作机制分类: 距离矢量路由协议: 链路状态路由协议: OSPF协议计算路由步骤: OSPF协议 OSPF协议报文: OSPF三张表 OSPF路由…

算法修炼之筑基篇——筑基一层后期(解决KMP算法,KMP算法模板)

✨博主:命运之光​​​​​​ 🦄专栏:算法修炼之练气篇​​​​​ 🍓专栏:算法修炼之筑基篇 ✨博主的其他文章:点击进入博主的主页​​​​​​ 前言:学习了算法修炼之练气篇想必各位蒟蒻们的基…

kafka 四 Kafka读写流程、LEO log end offset、物理存储 稠密索引 稀疏索引 、Kafka物理存储、深入了解读数据流程、删除消息

目录 Kafka读写流程 LEO log end offset 物理存储 稠密索引 稀疏索引 Kafka物理存储 深入了解读数据流程 删除消息 Kafka读写流程 写流程: 通过zookeeper 找leader分配开始读写Isr中的副本同步数据,并返回给leader ack返回给 分片ack 读流程&…

2023高考语文,用ChatGPT挑战全国卷作文,已达到双一流高校学生水平?

前言 2023年高考语文结束啦,今天我们用ChatGPT来挑战高考作文,一起来看看它的表现如何?ChatGPT突然爆火网络,它真的会取代人类的工作吗? 什么是ChatGPT? ChatGPT是由OpenAI开发的,OpenAI是一家…

BBA EDI 项目数据库方案开源介绍

近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。 …

排序算法的复杂度及稳定性详解(内含记忆小窍门)

排序算法的复杂度及稳定性 一、排序算法分类二、概念2.1 时间复杂度2.2 空间复杂度2.3 稳定性 三、表格比较注意 四、部分排序分析4.1 直接插入排序图示代码 4.2 冒泡排序图示代码 4.3 快速排序图示代码 五、结构化记忆(小窍门)5.1 结构化5.2 我的结构化…

2023 如何备考系统架构师?

高级系统架构设计师难度还是有的,所以一般千万不要裸考!!要时间充足,至少要接触过,反正没有基础的尽量还是不要去裸考了! 一、系统架构设计师考试题型 考试科目分为综合题(选择题)&a…

Stable Diffusion最全保姆级安装教程(建议收藏)

Midjourney 因细致的画图风格备受大家的欢迎,但由于其网络环境以及会员费,导致入门门槛过高,拦住了很多对AIGC感兴趣的小伙伴。 今天阿良就教大家,不需要魔法,也不用交会员费,尽情玩转AI出图的保姆级安装教…

力扣算法系统刷题详细题解记录二(字符串、双指针法、栈与队列)

力扣算法系统刷题题解记录二(字符串、双指针法、栈与队列) 前言 参考顺序和资料:《代码随想录》 二刷要认真做笔记啦,加油! 笔记模板: #### 解题思路#### 示意图#### 代码四、字符串 344.字符串反转 编…

求最小生成树(Kruskal算法和Prim算法)

目录 一、前言 二、相关概念 1、最小生成树 2、Prim算法(对结点进行操作) 3、kruskal 算法(对边进行操作) 三、例题 1、修建公路(lanqiaoOJ题号1124) 1、Prim算法题解 2、Kruskal算法 一、前言 很…

PyToch 深度学习 || 卷积神经网络分类

卷积神经网络分类 import torch import torch.nn as nn import torchvision import numpy as np from torch.autograd import Variable import matplotlib.pyplot as plt import torch.nn.functional as F import torch.utils.data as Data from torchvision import datasets,…

【业务功能篇20】Springboot java逻辑实现动态行转列需求

在此前,我也写过一个行转列的文章,是用存储过程sql处理的一个动态的逻辑 Mysql 存储过程\Mybatis框架call调用 实现动态行转列 那么后面我们同样又接收了业务的一个新需求,针对的是不同的业务数据,做的同样的一个展示数据报表&…

【C++11】 initializer_list | 右值引用 | 移动构造 | 完美转发

文章目录 1. 统一的列表初始化{ } 初始化initializer_list 2. 引用左值引用右值引用左值引用与右值引用的相互转换右值引用的真正使用场景移动构造 C98与C11传值返回问题注意事项总结 3. 完美转发 1. 统一的列表初始化 { } 初始化 C11 扩大了括号括起的列表(初始化列表)的使用…

使用PHP导出Excel时处理复杂表头的万能方法

使用PHP导出Excel时,如果是一级表头处理起来很简单,但如果碰到复杂一点的表头,比如二级、三级,甚至更多级别的表头要怎么办呢? 就像下面这个表头,有三层,并且每层都不太规则—— 难道我们每次处…

动态绑定v-model,并解决输入框无法输入和无法双向绑定问题

问题:在界面中想要动态获取数据库中返回的数据,作为下拉的值,每个下拉值中又包含不同的属性信息,给输入框动态绑定v-model,但是绑定成功后输入框内无法输入内容,且没有双向绑定 解决思路:1.双向…

SIM:基于搜索的用户终身行为序列建模

SIM:基于搜索的用户终身行为序列建模 论文:《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》 下载地址:https://arxiv.org/abs/2006.05639 1、用户行为序列建模回顾 1…

在 AWS 上使用 OpenText 实现业务关键型应用程序的现代化

通过在云中进行信息管理建立持久的竞争优势 创新在云中发生的速度比以往任何时候都快。 企业面临着数字经济快速转型的挑战,充分释放业务信息的能力对于建立持久的竞争优势至关重要。为分散的员工扩大安全可靠的协作范围将是生产力和创新的关键驱动力。 如今大多…

Web UI自动化测试之元素定位

目前,在自动化测试的实际应用中,接口自动化测试被广泛使用,但UI自动化测试也并不会被替代。让我们看看二者的对比: 接口自动化测试是跳过前端界面直接对服务端的测试,执行效率和覆盖率更高,维护成本更低&am…