Databend 是一款現(xiàn)代云數(shù)倉。專為彈性和高效設(shè)計,為您的大規(guī)模分析需求保駕護航。自由且開源。即刻體驗云服務(wù):https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新進展,遇到更貼近你心意的 Databend 。
列位置
Databend 現(xiàn)在支持 $N 這一語法,用來表示列位置,例如:$2 意味著匹配第 2 列。Databend 也支持在 SQL 語句中將列位置和列名結(jié)合使用。下面是一個簡單的例子:
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 格式上嘗試這一新特性。其他格式的支持還在進行中。
select $1 from @my_stage
copy into my_table from (select $1 from @my_stage t)
需要注意的是,在 Databend 中使用 SELECT 語句處理 NDJSON 格式文件時,只允許使用 $1 表示整行數(shù)據(jù),并且其數(shù)據(jù)類型為 Variant 。
-- 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>
- Issue | Feature: copy/select from stage by pos
- PR | feat: support column position like $N
- PR | feat: select from stage support NDJson
Code Corner
一起來探索 Databend 和周邊生態(tài)中的代碼片段或項目。
了解 Databend 的持續(xù)集成工作流 - 拼寫檢查
Databend 現(xiàn)在有一組非常復(fù)雜的持續(xù)集成工作流,用于代碼審計、測試、benchmark 和發(fā)布。拼寫檢查無疑是其中最簡單的部分。
與其他工作流一樣,我們使用 actions/checkout 檢出代碼。
- uses: actions/checkout@v3
with:
clean: "true"
typos-cli 是一個用 Rust 編寫的拼寫檢查工具,快速、準(zhǔn)確,適用于像 Databend 這樣的大型單一代碼庫,并且非常適用于針對 PR 的檢查。
- uses: baptiste0928/cargo-install@v1
with:
crate: typos-cli
args: --locked
cache-key: typos-check
使用 baptiste0928/cargo-install 可以輕松安裝依賴,它幾乎和 cargo install 保持一致,只是需要遵循 GitHub actions 的風(fēng)格。另外,它還提供自動緩存支持,能夠加速后續(xù)構(gòu)建。
- name: do typos check with typos-cli
run: typos
需要注意的是,雖然 crate 的名字是 typos-cli ,但是對應(yīng)二進制可執(zhí)行程序的名字是 typos 。
如果你想要了解更多信息,請查看下面列出的資源。
亮點
以下是一些值得注意的事件,也許您可以找到感興趣的內(nèi)容。
- 支持分布式 Top-N.
- 默認(rèn)啟用
lazy_topn_threshold,并設(shè)置默認(rèn)閾值為 1000 。 - 為保障安全性,root 用戶可以變更密碼。
- 閱讀 Blog | Databend X Tableau 了解如何使用 Tableau 連接 Databend 進行 BI 數(shù)據(jù)分析。
- 閱讀 Docs | Integrating Databend as a Sink for Vector 和 Docs | Analyzing Nginx Access Logs with Databend 理解如何集成 Vector 和 Databend 。
What's Up Next
我們始終對前沿技術(shù)和創(chuàng)新理念持開放態(tài)度,歡迎您加入社區(qū),為 Databend 注入活力。
在 REST API 中添加去重標(biāo)簽字段
為了確保數(shù)據(jù)攝取是冪等操作,Databend 使用去重標(biāo)簽來支持 DML 的去重。你可以在 Docs | Setting Commands - SET_VAR 中找到關(guān)于此功能的更多信息。
為了方便跨語言驅(qū)動程序集成,我們可以在 REST API 中添加去重標(biāo)簽字段。
Issue #11710 | Feature: support to bring deduplication label on stage attachment api
如果你對這個主題感興趣,可以嘗試解決其中的部分問題或者參與討論和 PR review ?;蛘?,你可以點擊 https://link.databend.rs/i-m-feeling-lucky 來挑選一個隨機問題,祝好運!
Changelog
前往查看 Databend 每日構(gòu)建的變更日志,以了解開發(fā)的最新動態(tài)。
地址:https://github.com/datafuselabs/databend/releases
Contributors
非常感謝貢獻者們在本周的卓越工作。

Connect With Us
Databend 是一款開源、彈性、低成本,基于對象存儲也可以做實時分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。