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

What’s New

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

Support for WebHDFS

HDFS 是大数据生态中盛行的分布式文件体系,也是 Databend 支撑的存储后端之一。但要在此前的完成中,假如要访问 HDFS 存储后端就不得不依靠 Java 环境和特定的 jar 包,不太方便。

WebHDFS 是一种 REST API,通过 HTTP 提供 HDFS 操作接口,Databend 现在支撑运用 WebHDFS 作为存储后端,不再需求运用 Java 环境,运用起来会愈加方便。

#> CREATE STAGE IF NOT EXISTS whdfs URL='webhdfs://127.0.0.1:9870/data-files/' CONNECTION=(HTTPS='false');
Query OK, 0 rows affected (0.020 sec)
#> CREATE TABLE IF NOT EXISTS books (     title VARCHAR,     author VARCHAR,     date VARCHAR );
Query OK, 0 rows affected (0.030 sec)
#> COPY INTO books FROM @whdfs FILES=('books.csv') file_format=(type=CSV field_delimiter=','  record_delimiter='\n' skip_header=0);
Query OK, 2 rows affected (0.615 sec)
#> SELECT * FROM books;
+------------------------------+---------------------+------+
| title                        | author              | date |
+------------------------------+---------------------+------+
| Transaction Processing       | Jim Gray            | 1992 |
| Readings in Database Systems | Michael Stonebraker | 2004 |
+------------------------------+---------------------+------+
2 rows in set (0.044 sec)

假如你对 WebHDFS 的工作机制感兴趣,能够参看下面列出的两个 Pull Requests:

  • PR | feat: backend webhdfs
  • PR | feat: Add support for copying from webhdfs

Support for Aggregation Spilling to Object Storage

大数据处理时需求处理的一个重要挑战是:如何高效、可靠地执行 Group By 和 Order By 操作。为了处理这个问题,Databend 社区正在开发一项新功用,它将会支撑将中心成果溢出到像 AWS S3 这样的云对象存储。

这个功用落地后能够协助 Databend 轻松处理触及海量数据的 Group By 和 Order By 查询,而不会耗尽内存或影响功用。假如你对这个功用的原理和完成感兴趣,能够参看这个 Pull Request:

  • PR | feat(query): support aggregate spill to object storage

Decimal Data Types

Databend 支撑对多种数据类型的数据进行剖析处理。近期的改善集中在 Decimal 类型上,该类型允许指定数值的精确度和计数方法。在财政计算等对高精度有依靠的场景,引荐运用 Decimal 类型。

-- Create a table with decimal data type.
create table decimal(value decimal(36, 18));
-- Insert two values.
insert into decimal values(0.152587668674722117), (0.017820781941443176);
select * from decimal;
+----------------------+
| value                |
+----------------------+
| 0.152587668674722117 |
| 0.017820781941443176 |
+----------------------+

假如你对 Databend 的 Decimal 类型感兴趣,能够参看这篇文档:

  • Docs | Data Types – Decimal.

What’s Up Next

咱们一直对前沿技术和立异理念持敞开态度,欢迎您加入社区,为 Databend 注入生机。

编译时初始化 regex

federated_helper.rs 中运用了很多正则表达式来匹配查询。

use regex::bytes::RegexSet;
let regex_set = RegexSet::new(regex_rules).unwrap();
let matches = regex_set.matches(query.as_ref());

假如能在编译时初始化 regex ,可能会带来一些优化。

Issue 10286: Feature: make regexp initialized at compile time

假如你对这个主题感兴趣,能够尝试处理其中的部分问题或许参与讨论和 PR review 。或许,你能够点击 link.databend.rs/i-m-feeling… 来挑选一个随机问题,祝好运!

New Contributors

一同知道社区中的新同伴,Databend 因你们而变得愈加美好

  • @xinlifoobar 完成 show table 时不再显示 SNAPSHOT_LOCATION,#10164
  • @wangjili8417 帮助重新组织了转化函数相关的文档,#10255
  • @dusx1981 引进位图来记录 planner 规矩,#10024

Changelog

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

地址:github.com/datafuselab…

Contributors

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

Connect With Us

Databend 是一款开源、弹性、低成本,基于对象存储也能够做实时剖析的新式数仓。期待您的重视,一同探索云原生数仓处理方案,打造新一代开源 Data Cloud。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel