iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
AI/ ML & Data

粗暴的資料處理 DuckDB系列 第 13

Day13 -- DuckDB Style SQL (7) ?

  • 分享至 

  • xImage
  •  

一瞬間又來到了星期五晚上,今天來介紹 replacement scan 的進階功能。 replacement scan 多個相同格式的檔案

複習一下

SELECT * FROM 'dir/foo.csv';

replacement scan 讓 FROM 後面接的 .csv 結尾字串當作是一個在 duckdb 存在的 table

如果我們的資料夾內有 foo1.csv foo2.csv foo3.csv... 等相同格式,不同資料的 csv,replacement scan 還能起舞嗎?

當然可以

SELECT * FROM 'dir/*.csv';

是不是看起來很眼熟。沒錯 duckdb 支援 glob 這種 Unix fs 風格的檔案 pattern matching.

讀取兩層目錄深度內,所有以 .csv 結尾的檔案

SELECT *
FROM '*/*/*.csv';

讀取資料夾 dir 中任何深度內的所有以 .csv 結尾的檔案

SELECT *
FROM 'dir/**/*.csv';

更棒的事情是,S3 上的檔案也支援 glob expansion 喔,只要在開頭加上 S3 的 prefix,duckdb 就自動幫你打好 s3 list api 跟抓下所有 csv ,是不是非常方便啊。

SELECT * FROM 'S3://foo/*.csv';

趕快到 DuckDB WASM 或 Colab 試試看吧!


上一篇
Day12 -- DuckDB Style SQL (6) ?
系列文
粗暴的資料處理 DuckDB13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言