Hub 文件
查詢資料集
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
查詢資料集
查詢資料集是資料分析中的基本步驟。在這裡,我們將指導您使用各種方法查詢資料集。
有幾種方法可以選擇您的資料。
使用 FROM
語法
FROM 'hf://datasets/jamescalam/world-cities-geo/train.jsonl' SELECT city, country, region LIMIT 3;
┌────────────────┬─────────────┬───────────────┐
│ city │ country │ region │
│ varchar │ varchar │ varchar │
├────────────────┼─────────────┼───────────────┤
│ Kabul │ Afghanistan │ Southern Asia │
│ Kandahar │ Afghanistan │ Southern Asia │
│ Mazar-e Sharif │ Afghanistan │ Southern Asia │
└────────────────┴─────────────┴───────────────┘
使用 SELECT
和 FROM
語法
SELECT city, country, region FROM 'hf://datasets/jamescalam/world-cities-geo/train.jsonl' USING SAMPLE 3;
┌──────────┬─────────┬────────────────┐
│ city │ country │ region │
│ varchar │ varchar │ varchar │
├──────────┼─────────┼────────────────┤
│ Wenzhou │ China │ Eastern Asia │
│ Valdez │ Ecuador │ South America │
│ Aplahoue │ Benin │ Western Africa │
└──────────┴─────────┴────────────────┘
統計所有匹配全域性模式的 JSONL 檔案
SELECT COUNT(*) FROM 'hf://datasets/jamescalam/world-cities-geo/*.jsonl';
┌──────────────┐
│ count_star() │
│ int64 │
├──────────────┤
│ 9083 │
└──────────────┘
您還可以使用 read_parquet
函式(或其別名 parquet_scan
)查詢 Parquet 檔案。此函式以及其他引數,為處理 Parquet 檔案提供了靈活性,特別是當它們沒有 .parquet
副檔名時。讓我們使用同一資料集中的自動轉換的 Parquet 檔案來探索這些函式。
使用 read_parquet 函式選擇
SELECT * FROM read_parquet('hf://datasets/jamescalam/world-cities-geo@~parquet/default/**/*.parquet') LIMIT 3;
┌────────────────┬─────────────┬───────────────┬───────────┬────────────┬────────────┬────────────────────┬───────────────────┬────────────────────┐
│ city │ country │ region │ continent │ latitude │ longitude │ x │ y │ z │
│ varchar │ varchar │ varchar │ varchar │ double │ double │ double │ double │ double │
├────────────────┼─────────────┼───────────────┼───────────┼────────────┼────────────┼────────────────────┼───────────────────┼────────────────────┤
│ Kabul │ Afghanistan │ Southern Asia │ Asia │ 34.5166667 │ 69.1833344 │ 1865.546409629258 │ 4906.785732164055 │ 3610.1012966606136 │
│ Kandahar │ Afghanistan │ Southern Asia │ Asia │ 31.61 │ 65.6999969 │ 2232.782351694877 │ 4945.064042683584 │ 3339.261233224765 │
│ Mazar-e Sharif │ Afghanistan │ Southern Asia │ Asia │ 36.7069444 │ 67.1122208 │ 1986.5057687360124 │ 4705.51748048584 │ 3808.088900172991 │
└────────────────┴─────────────┴───────────────┴───────────┴────────────┴────────────┴────────────────────┴───────────────────┴────────────────────┘
讀取所有匹配全域性模式的檔案,幷包含一個檔名列,指定每行來自哪個檔案
SELECT city, country, filename FROM read_parquet('hf://datasets/jamescalam/world-cities-geo@~parquet/default/**/*.parquet', filename = true) LIMIT 3;
┌────────────────┬─────────────┬───────────────────────────────────────────────────────────────────────────────┐
│ city │ country │ filename │
│ varchar │ varchar │ varchar │
├────────────────┼─────────────┼───────────────────────────────────────────────────────────────────────────────┤
│ Kabul │ Afghanistan │ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │
│ Kandahar │ Afghanistan │ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │
│ Mazar-e Sharif │ Afghanistan │ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │
└────────────────┴─────────────┴───────────────────────────────────────────────────────────────────────────────┘
獲取元資料和模式
parquet_metadata
函式可用於查詢 Parquet 檔案中包含的元資料。
SELECT * FROM parquet_metadata('hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet');
┌───────────────────────────────────────────────────────────────────────────────┬──────────────┬────────────────────┬─────────────┐
│ file_name │ row_group_id │ row_group_num_rows │ compression │
│ varchar │ int64 │ int64 │ varchar │
├───────────────────────────────────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────┤
│ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │ 0 │ 1000 │ SNAPPY │
│ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │ 0 │ 1000 │ SNAPPY │
│ hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet │ 0 │ 1000 │ SNAPPY │
└───────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────────┘
獲取列名和列型別
DESCRIBE SELECT * FROM 'hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet';
┌─────────────┬─────────────┬─────────┬─────────┬─────────┬─────────┐
│ column_name │ column_type │ null │ key │ default │ extra │
│ varchar │ varchar │ varchar │ varchar │ varchar │ varchar │
├─────────────┼─────────────┼─────────┼─────────┼─────────┼─────────┤
│ city │ VARCHAR │ YES │ │ │ │
│ country │ VARCHAR │ YES │ │ │ │
│ region │ VARCHAR │ YES │ │ │ │
│ continent │ VARCHAR │ YES │ │ │ │
│ latitude │ DOUBLE │ YES │ │ │ │
│ longitude │ DOUBLE │ YES │ │ │ │
│ x │ DOUBLE │ YES │ │ │ │
│ y │ DOUBLE │ YES │ │ │ │
│ z │ DOUBLE │ YES │ │ │ │
└─────────────┴─────────────┴─────────┴─────────┴─────────┴─────────┘
獲取內部模式(不包括檔名)
SELECT * EXCLUDE (file_name) FROM parquet_schema('hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet');
┌───────────┬────────────┬─────────────┬─────────────────┬──────────────┬────────────────┬───────┬───────────┬──────────┬──────────────┐
│ name │ type │ type_length │ repetition_type │ num_children │ converted_type │ scale │ precision │ field_id │ logical_type │
│ varchar │ varchar │ varchar │ varchar │ int64 │ varchar │ int64 │ int64 │ int64 │ varchar │
├───────────┼────────────┼─────────────┼─────────────────┼──────────────┼────────────────┼───────┼───────────┼──────────┼──────────────┤
│ schema │ │ │ REQUIRED │ 9 │ │ │ │ │ │
│ city │ BYTE_ARRAY │ │ OPTIONAL │ │ UTF8 │ │ │ │ StringType() │
│ country │ BYTE_ARRAY │ │ OPTIONAL │ │ UTF8 │ │ │ │ StringType() │
│ region │ BYTE_ARRAY │ │ OPTIONAL │ │ UTF8 │ │ │ │ StringType() │
│ continent │ BYTE_ARRAY │ │ OPTIONAL │ │ UTF8 │ │ │ │ StringType() │
│ latitude │ DOUBLE │ │ OPTIONAL │ │ │ │ │ │ │
│ longitude │ DOUBLE │ │ OPTIONAL │ │ │ │ │ │ │
│ x │ DOUBLE │ │ OPTIONAL │ │ │ │ │ │ │
│ y │ DOUBLE │ │ OPTIONAL │ │ │ │ │ │ │
│ z │ DOUBLE │ │ OPTIONAL │ │ │ │ │ │ │
├───────────┴────────────┴─────────────┴─────────────────┴──────────────┴────────────────┴───────┴───────────┴──────────┴──────────────┤
獲取統計資訊
SUMMARIZE
命令可用於獲取查詢的各種聚合(最小值、最大值、近似唯一值、平均值、標準差、25% 分位數、50% 分位數、75% 分位數、計數)。它返回這些統計資訊以及列名、列型別和 NULL 值的百分比。
SUMMARIZE SELECT latitude, longitude FROM 'hf://datasets/jamescalam/world-cities-geo@~parquet/default/train/0000.parquet';
┌─────────────┬─────────────┬──────────────┬─────────────┬───────────────┬────────────────────┬────────────────────┬────────────────────┬────────────────────┬────────────────────┬───────┬─────────────────┐
│ column_name │ column_type │ min │ max │ approx_unique │ avg │ std │ q25 │ q50 │ q75 │ count │ null_percentage │
│ varchar │ varchar │ varchar │ varchar │ int64 │ varchar │ varchar │ varchar │ varchar │ varchar │ int64 │ decimal(9,2) │
├─────────────┼─────────────┼──────────────┼─────────────┼───────────────┼────────────────────┼────────────────────┼────────────────────┼────────────────────┼────────────────────┼───────┼─────────────────┤
│ latitude │ DOUBLE │ -54.8 │ 67.8557214 │ 7324 │ 22.5004568364307 │ 26.770454684690925 │ 6.089858461951687 │ 29.321258648324747 │ 44.90191158328915 │ 9083 │ 0.00 │
│ longitude │ DOUBLE │ -175.2166595 │ 179.3833313 │ 7802 │ 14.699333721953098 │ 63.93672742608224 │ -6.877990418604821 │ 19.12963979385393 │ 43.873513093419966 │ 9083 │ 0.00 │
└─────────────┴─────────────┴──────────────┴─────────────┴───────────────┴────────────────────┴────────────────────┴────────────────────┴────────────────────┴────────────────────┴───────┴─────────────────┘