博客

Databend 开源周报第 104 期

Databend Labs7月 31, 2023

英文版移步:https://www.databend.com/blog/2023-07-30-databend-weekly

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

What's On In Databend

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

从 Kafka 载入数据

Apache Kafka 是一款开源的高性能、分布式消息队列,为处理实时数据提供了一个统一、高吞吐量、低时延的平台。

Databend 设计并实现了高性能的数据摄入工具 bend-ingest-kafka ,专门用于将来自 Kafka 的数据载入到 Databend 中,可以简化数据摄取工作流程。

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

从 dbt 载入数据

dbt 是一种数据转换工作流,可以帮助你完成更多数据处理工作,同时产生更高质量的结果。

dbt-databend-cloud 是由 Databend 开发的 dbt 插件。通过使用此插件,你可以轻松使用 dbt 执行数据建模、转换和清洗任务,并方便地将输出结果载入到 Databend 中。

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

Code Corner

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

使用 Node.js 连接 Databend

Databend 为 Databend Driver 提供了 Node.js 绑定,现在你可以使用 Node.js 轻松构建与 Databend 集成的应用程序。

const { Client } = require('databend-driver');

const dsn = process.env.DATABEND_DSN
? process.env.DATABEND_DSN
: 'databend://user1:abc123@localhost:8000/default?sslmode=disable';

async function create_conn() {
this.client = new Client(dsn);
this.conn = await this.client.getConn();
console.log('Connected to Databend Server!');
}

async function select_books() {
var sql =
'CREATE TABLE IF NOT EXISTS books(title VARCHAR, author VARCHAR, date VARCHAR)';
await this.conn.exec(sql);
console.log('Table created');

var sql =
"INSERT INTO books VALUES('Readings in Database Systems', 'Michael Stonebraker', '2004')";
await this.conn.exec(sql);
console.log('1 record inserted');

var sql = 'SELECT * FROM books';
const rows = await this.conn.queryIter(sql);
const ret = [];
let row = await rows.next();
while (row) {
ret.push(row.values());
row = await rows.next();
}
console.log(ret);
}

create_conn().then((conn) => {
select_books();
});

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

Highlights

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

  • 支持
    GROUP BY ALL
    语法。
  • 利用物化加速 CTE。
  • 新增地理位置函数:
    h3_to_geo
    h3_to_geo_boundary
    h3_k_ring
    h3_is_valid
    h3_get_resolution
    h3_edge_length_m
    以及
    h3_edge_length_km
  • 新增数组 lambda 函数:
    array_transform
    array_apply
    以及
    array_filter

What's Up Next

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

支持 Stage 间的文件复制

Databend 现在能够为十多种不同的存储服务提供数据分析能力。我们可以基于此进一步提供数据管理和迁移功能,比如支持将文件从一个 Stage 复制到另一个 Stage。

copy files from @mystage1/path/ to @mystage2;
copy files from @mystage1/path/f1.csv to @mystage2/archive/[f1.csv];

Issue #12200 | Feature: support copy files from one stage to other stage

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

Changelog

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

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

分享本篇文章

订阅我们的新闻简报

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