--- title: Databend 开源周报第 104 期 description: slug: databend-weekly-104 date: 2023-07-31 tags: [weekly] cover_url: databend-weekly.svg image: databend-weekly.png contributors: - name: andylokandy - name: ariesdevil - name: b41sh - name: BohuTANG - name: Chasen-Zhang - name: dantengsky - name: Dousir9 - name: drmingdrmer - name: everpcpc - name: JackTan25 - name: lichuang - name: nange - name: PsiACE - name: SkyFan2002 - name: soyeric128 - name: sundy-li - name: Xuanwo - name: xudong963 - name: youngsofun - name: zhang2014 - name: zhyass authors: - datafuselabs --- ![](https://hackmd.io/_uploads/S1-bWxSjh.png) > 英文版移步:https://databend.rs/blog/2023-07-30-databend-weekly > > [Databend](https://github.com/datafuselabs/databend) 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:[https://app.databend.cn](https://app.databend.cn) 。 ## What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 ### 从 Kafka 载入数据 [Apache Kafka](https://kafka.apache.org/) 是一款开源的高性能、分布式消息队列,为处理实时数据提供了一个统一、高吞吐量、低时延的平台。 Databend 设计并实现了高性能的数据摄入工具 [bend-ingest-kafka](https://github.com/databendcloud/bend-ingest-kafka) ,专门用于将来自 Kafka 的数据载入到 Databend 中,可以简化数据摄取工作流程。 如果您想了解更多信息,请查看下面列出的资源。 - [Docs | Loading Data with Tools - Kafka](https://databend.rs/doc/load-data/load-db/kafka) ### 从 dbt 载入数据 [dbt](https://www.getdbt.com/) 是一种数据转换工作流,可以帮助你完成更多数据处理工作,同时产生更高质量的结果。 [dbt-databend-cloud](https://github.com/databendcloud/dbt-databend) 是由 Databend 开发的 dbt 插件。通过使用此插件,你可以轻松使用 dbt 执行数据建模、转换和清洗任务,并方便地将输出结果载入到 Databend 中。 如果您想了解更多信息,请查看下面列出的资源。 - [Docs | Loading Data with Tools - dbt](https://databend.rs/doc/load-data/load-db/dbt) ## Code Corner 一起来探索 Databend 和周边生态中的代码片段或项目。 ### 使用 Node.js 连接 Databend Databend 为 Databend Driver 提供了 Node.js 绑定,现在你可以使用 Node.js 轻松构建与 Databend 集成的应用程序。 ```javascript 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](https://databend.rs/doc/develop/nodejs) - [GitHub | Databend Driver Node.js Binding](https://github.com/datafuselabs/bendsql/tree/main/bindings/nodejs) ## 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。 ```sql 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](https://github.com/datafuselabs/databend/issues/12200) 如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运! ## Changelog 前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。 地址:https://github.com/datafuselabs/databend/releases ## Contributors 非常感谢贡献者们在本周的卓越工作。 ![](https://hackmd.io/_uploads/BkyQWeSs3.png) ## Connect With Us Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。 - [Databend Website](https://databend.rs) - [GitHub Discussions](https://github.com/datafuselabs/databend/discussions) - [Twitter](https://twitter.com/Datafuse_Labs) - [Slack Channel](https://link.databend.rs/join-slack)