資料集檢視器文件
DuckDB
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
DuckDB
DuckDB 是一個數據庫,支援非常快速地讀取和查詢 Parquet 檔案。首先,建立與 DuckDB 的連線,然後安裝並載入 httpfs
擴充套件以讀取和寫入遠端檔案。
Python
JavaScript
import duckdb
url = "https://huggingface.co/datasets/tasksource/blog_authorship_corpus/resolve/refs%2Fconvert%2Fparquet/default/train/0000.parquet"
con = duckdb.connect()
con.execute("INSTALL httpfs;")
con.execute("LOAD httpfs;")
現在,您可以編寫並在 Parquet 檔案上執行 SQL 查詢。
Python
JavaScript
con.sql(f"SELECT sign, count(*), AVG(LENGTH(text)) AS avg_blog_length FROM '{url}' GROUP BY sign ORDER BY avg_blog_length DESC LIMIT(5)")
┌───────────┬──────────────┬────────────────────┐
│ sign │ count_star() │ avg_blog_length │
│ varchar │ int64 │ double │
├───────────┼──────────────┼────────────────────┤
│ Cancer │ 38956 │ 1206.5212034089743 │
│ Leo │ 35487 │ 1180.0673767858652 │
│ Aquarius │ 32723 │ 1152.1136815084192 │
│ Virgo │ 36189 │ 1117.1982094006466 │
│ Capricorn │ 31825 │ 1102.397360565593 │
└───────────┴──────────────┴────────────────────┘
要查詢多個檔案(例如,如果資料集已分片)
Python
JavaScript
urls = ["https://huggingface.co/datasets/tasksource/blog_authorship_corpus/resolve/refs%2Fconvert%2Fparquet/default/train/0000.parquet", "https://huggingface.co/datasets/tasksource/blog_authorship_corpus/resolve/refs%2Fconvert%2Fparquet/default/train/0001.parquet"]
con.sql(f"SELECT sign, count(*), AVG(LENGTH(text)) AS avg_blog_length FROM read_parquet({urls}) GROUP BY sign ORDER BY avg_blog_length DESC LIMIT(5)")
┌──────────┬──────────────┬────────────────────┐
│ sign │ count_star() │ avg_blog_length │
│ varchar │ int64 │ double │
├──────────┼──────────────┼────────────────────┤
│ Aquarius │ 49687 │ 1191.417211745527 │
│ Leo │ 53811 │ 1183.8782219248853 │
│ Cancer │ 65048 │ 1158.9691612347804 │
│ Gemini │ 51985 │ 1156.0693084543618 │
│ Virgo │ 60399 │ 1140.9584430205798 │
└──────────┴──────────────┴────────────────────┘
DuckDB-Wasm 是一個由 WebAssembly 提供支援的包,也可用於在任何瀏覽器中執行 DuckDB。例如,如果您想建立一個 Web 應用程式以從瀏覽器查詢 Parquet 檔案,這可能會很有用!
< > 在 GitHub 上更新