--- title: Databend 开源周报第 97 期 description: slug: databend-weekly-97 date: 2023-06-12 tags: [weekly] cover_url: databend-weekly.svg image: databend-weekly.png contributors: - name: andylokandy - name: b41sh - name: Chasen-Zhang - name: dantengsky - name: dependabot[bot] - name: Dousir9 - name: drmingdrmer - name: JackTan25 - name: PsiACE - name: RinChanNOWWW - name: soyeric128 - name: sundy-li - name: tisonkun - name: Xuanwo - name: youngsofun - name: zhang2014 - name: zhyass authors: - datafuselabs --- # Databend 开源周报 第 97 期  > 英文版移步:https://databend.rs/blog/2023-06-11-databend-weekly > > [Databend](https://github.com/datafuselabs/databend) 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:[https://app.databend.cn](https://app.databend.cn) 。 ## What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 ### 列位置 Databend 现在支持 `$N` 这一语法,用来表示列位置,例如:`$2` 意味着匹配第 2 列。Databend 也支持在 SQL 语句中将列位置和列名结合使用。下面是一个简单的例子: ```SQL CREATE TABLE IF NOT EXISTS t1(a int, b varchar); INSERT INTO t1 values (1, 'a'), (2, 'b'); select $1, $2, a, b from t1; ┌─────────────────────────────────┐ │ $1 │ $2 │ a │ b │ │ Int32 │ String │ Int32 │ String │ ├───────┼────────┼───────┼────────┤ │ 1 │ a │ 1 │ a │ │ 2 │ b │ 2 │ b │ └─────────────────────────────────┘ ``` 我们正在为 `SELECT FROM @stage` 添加列位置支持。目前,你可以在 NDJSON 格式上尝试这一新特性。其他格式的支持还在进行中。 ```sql select $1 from @my_stage copy into my_table from (select $1 from @my_stage t) ``` 需要注意的是,在 Databend 中使用 SELECT 语句处理 NDJSON 格式文件时,只允许使用 `$1` 表示整行数据,并且其数据类型为 Variant 。 ```SQL -- Select the entire row using column position: SELECT $1 FROM @my_stage --Select a specific field named "a" using column position: SELECT $1:a FROM @my_stage ``` 如果你想要了解更多信息,请查看下面列出的资源。 - [Issue | Feature: support $<col_position>](https://github.com/datafuselabs/databend/issues/11585) - [Issue | Feature: copy/select from stage by pos](https://github.com/datafuselabs/databend/issues/11581) - [PR | feat: support column position like $N](https://github.com/datafuselabs/databend/pull/11672) - [PR | feat: select from stage support NDJson](https://github.com/datafuselabs/databend/pull/11701) ## Code Corner 一起来探索 Databend 和周边生态中的代码片段或项目。 ### 了解 Databend 的持续集成工作流 - 拼写检查 Databend 现在有一组非常复杂的持续集成工作流,用于代码审计、测试、benchmark 和发布。拼写检查无疑是其中最简单的部分。 与其他工作流一样,我们使用 `actions/checkout` 检出代码。 ```yaml - uses: actions/checkout@v3 with: clean: "true" ``` `typos-cli` 是一个用 Rust 编写的拼写检查工具,快速、准确,适用于像 Databend 这样的大型单一代码库,并且非常适用于针对 PR 的检查。 ```yaml - uses: baptiste0928/cargo-install@v1 with: crate: typos-cli args: --locked cache-key: typos-check ``` 使用 `baptiste0928/cargo-install` 可以轻松安装依赖,它几乎和 `cargo install` 保持一致,只是需要遵循 GitHub actions 的风格。另外,它还提供自动缓存支持,能够加速后续构建。 ```yaml - name: do typos check with typos-cli run: typos ``` 需要注意的是,虽然 crate 的名字是 `typos-cli` ,但是对应二进制可执行程序的名字是 `typos` 。 如果你想要了解更多信息,请查看下面列出的资源。 - [Workflows | typos.yml](https://github.com/datafuselabs/databend/blob/main/.github/workflows/typos.yml) ## 亮点 以下是一些值得注意的事件,也许您可以找到感兴趣的内容。 - 支持分布式 Top-N. - 默认启用 `lazy_topn_threshold` ,并设置默认阈值为 1000 。 - 为保障安全性,root 用户可以变更密码。 - 阅读 *[Blog | Databend X Tableau](https://databend.rs/blog/2023-06-01-tableau)* 了解如何使用 Tableau 连接 Databend 进行 BI 数据分析。 - 阅读 *[Docs | Integrating Databend as a Sink for Vector](https://databend.rs/doc/integrations/data-tool/vector)* 和 *[Docs | Analyzing Nginx Access Logs with Databend](https://databend.rs/doc/use-cases/analyze-nginx-logs-with-databend-and-vector)* 理解如何集成 Vector 和 Databend 。 ## What's Up Next 我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。 ### 在 REST API 中添加去重标签字段 为了确保数据摄取是幂等操作,Databend 使用去重标签来支持 DML 的去重。你可以在 [Docs | Setting Commands - SET_VAR](https://databend.rs/doc/sql-commands/setting-cmds/set-var) 中找到关于此功能的更多信息。 为了方便跨语言驱动程序集成,我们可以在 REST API 中添加去重标签字段。 [Issue #11710 | Feature: support to bring deduplication label on stage attachment api](https://github.com/datafuselabs/databend/issues/11710) 如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运! ## Changelog 前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。 地址:https://github.com/datafuselabs/databend/releases ## Contributors 非常感谢贡献者们在本周的卓越工作。  ## 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)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up