博客

Databend 开源周报第 154 期

Databend LabsJul 22, 2024

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

What's On In Databend

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

为窗口排名函数添加 [IGNORE | RESPECT NULLS] 选项

在窗口函数的使用中,处理 NULL 值是一个常见且重要的问题。为了提供更加灵活和精确的查询能力,Databend 正在为窗口排名函数 first_value、last_value 和 nth_value 添加 IGNORE NULLS 和 RESPECT NULLS 选项。这两个选项的具体功能如下:

使用 IGNORE NULLS 选项时,函数会跳过 NULL 值,仅考虑非 NULL 的数据。例如:

first_value(col) IGNORE NULLS
会返回第一个非 NULL 的值。这种方式在数据集中存在大量 NULL 值的情况下非常有用,因为它能有效避免 NULL 值对结果的干扰。

使用 RESPECT NULLS 选项时,函数会将 NULL 值视为正常数据进行处理。例如:

nth_value(col, n) RESPECT NULLS
会返回第 n 个值,无论它是否为 NULL。这种方式适用于需要保留 NULL 值信息的场景。

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

Beyond the Code

一起来探索 Databend 社区和周边生态中的新鲜事。

从存储视角学 Data Lake

数据湖是复杂的系统,其规格、格式和引擎各异。然而,所有数据湖的基础元素是存储层。观察它们如何在这一层上组织元数据和数据,以及基于文件设计的优化策略,可以提供更清晰的洞察。从存储层的角度来看,我们可以更全面地理解数据。构建在数据湖上的所有引擎本质上都是实现细节。

这个来自 Databend 研发工程师 Xuanwo 的项目可以帮助大家从部署和分析各种数据湖项目的存储行为入手,深入了解不同项目的功能和设计。

Highlights

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

  • 实现 LocalShuffle。
  • 新增表函数
    clustering_statistics
  • 新增设置项
    enable_strict_datetime_parser

What's Up Next

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

使用物化视图重构聚合索引

Databend 目前已经提供了聚合索引能力,允许用户通过预先计算和存储聚合结果来加速查询性能。聚合索引的引入极大地提升了数据处理的效率,尤其在大数据集的分析和查询场景中表现尤为显著。

我们计划根据论文 Optimizing queries using materialized views: A practical, scalable solution,使用物化视图重构聚合索引,提供更加实用和可扩展的解决方案。此改进将有助于提高查询效率,并为用户带来更好的数据处理体验。

Issue #16021 | Feature: Refactor aggregating index using materialized view

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

Changelog

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

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

分享本篇文章

订阅我们的新闻简报

及时了解功能发布、产品规划、支持服务和云服务的最新信息!