Databend 开源周报第 104 期

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

What’s On In Databend

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

从 Kafka 载入数据

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

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

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

  • Docs | Loading Data with Tools – Kafka

从 dbt 载入数据

dbt 是一种数据转换作业流,能够帮助你完成更多数据处理作业,一同发生更高质量的成果。

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

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

  • Docs | Loading Data with Tools – dbt

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()
});

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

  • Docs | Developing with Databend using Node.js
  • GitHub | Databend Driver Node.js Binding

Highlights

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

  • 支撑 GROUP BY ALL 语法。
  • 使用物化加快 CTE 。
  • 新增地理位置函数:h3_to_geoh3_to_geo_boundaryh3_k_ringh3_is_validh3_get_resolutionh3_edge_length_m 以及 h3_edge_length_km
  • 新增数组 lambda 函数:array_transformarray_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 。或许,你能够点击 link.databend.rs/i-m-feeling… 来选择一个随机问题,祝好运!

Changelog

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

地址:github.com/datafuselab…

Contributors

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

Databend 开源周报第 104 期

Connect With Us

Databend 是一款开源、弹性、低成本,基于目标存储也能够做实时剖析的新式数仓。期待您的关注,一同探究云原生数仓解决方案,打造新一代开源 Data Cloud。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel