UltKit

CSV 轉 Parquet 轉換器

CSV 容易產生,查詢起來卻很慢。上傳 CSV,即可取得 Apache Parquet 檔案:每個欄位都有對應的型別,並經過壓縮,可直接載入您使用的分析工具。

資料轉換器

或將CSV, TSV, TXT … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    上傳 CSV 檔案

    新增一個匯出檔,或最多 20 個版面相同的檔案,每個不超過 95 MB。分隔符號維持自動偵測,即可處理逗號、分號、Tab 和直線符號。

  2. 2

    保留標題列與日期設定

    第一列為標題列會把標題列轉成欄位名稱。日期預設為 ISO,日期欄會以統一的格式寫入。

  3. 3

    轉換為 Parquet

    按下轉換為 Parquet,再把 .parquet 檔載入 pandas、DuckDB、Spark 或你的資料倉儲。

為什麼資料團隊要把 CSV 轉成 Parquet

Parquet 由 Twitter 和 Cloudera 的工程師於 2013 年創建,參考了 Google 在 2010 年 Dremel 論文中描述的欄式配置,並於 2015 年成為 Apache 的頂級專案。概念很簡單:CSV 是一列一列儲存資料表,而它是把同一欄的所有值放在一起。查詢四十個欄位中的三個時,只需讀取那三欄,而且相似的值相鄰存放,壓縮效果好得多。

所以分析師會先轉檔再載入,資料工程師會要求供應商提供 Parquet 而非 CSV,而 Amazon Athena 和 BigQuery 這類可能依掃描資料量計費的服務,查詢費用也會變低。CSV 無法分辨 0042 是數字還是代碼;Parquet 會記錄每個欄位的型別,下一個工具就不必猜測。

大型表格該用 Parquet、CSV 還是 XLSX

ParquetCSVXLSX
檔案內儲存欄位型別yesno依儲存格而定
只讀取查詢需要的欄位yesnono
已壓縮yesnoyes
可用文字編輯器閱讀noyesno
按兩下即可用 Excel 開啟noyesyes
每個檔案的列數無固定上限無固定上限每個工作表 1,048,576 列

CSV 轉成 Parquet 後有哪些改變

你能得到什麼

  • 只讀取所需欄位,查詢更快
  • 檔案更小,儲存與傳輸更輕鬆
  • 有明確的結構描述,下一個工具不必猜測
  • 日期統一以 ISO 格式寫入

需要注意的事

  • 無法用試算表或文字編輯器編輯
  • 數值欄位中的一個錯字,可能讓整欄變成文字
  • 如果還有人需要開啟,請保留原始 CSV

CSV 與 Parquet 格式比較

CSV

逗號分隔值

CSV 是一種純文字的表格格式,每一行是一列資料,欄位之間以逗號分隔。它從電腦發展初期沿用至今,並記載於 RFC 4180,不過許多變體會改用分號或定位字元,文字編碼也各不相同。幾乎所有試算表、資料庫和分析工具都能匯入與匯出,因此成為系統之間傳輸資料的預設格式。CSV 只儲存數值,不包含公式、格式、多個工作表或資料類型。

壓縮方式
–
透明度
–
動畫
–
推出年份
–
CSV 轉檔工具

PARQUET

Apache Parquet

Parquet 是開源的欄式儲存格式,由 Twitter 與 Cloudera 於 2013 年建立,現由 Apache Software Foundation 維護。它依欄位儲存資料,具備高壓縮率與具型別的結構描述,因此分析工具可以只讀取所需的欄位。它是資料湖以及 Spark、pandas、DuckDB、BigQuery 和 Snowflake 等工具的標準格式。Parquet 檔案是二進位格式,無法用文字編輯器或一般試算表應用程式開啟。

壓縮方式
無損
透明度
–
動畫
–
推出年份
2013 · Apache Software Foundation (from Twitter and Cloudera)
PARQUET 轉檔工具

當檔案不再是讓人開啟的東西,而是供查詢掃描的資料時,CSV 就該轉成 Parquet:例如每天匯入資料湖的匯出檔、與分析師共用的資料集,或一次只用幾個欄位篩選的記錄檔。

請在轉換前而不是之後清理 CSV:修正標題名稱、刪除底部的彙總列,並確保每個欄位只有一種值。如果來源是資料庫備份而不是 CSV,請先使用 SQL 轉 CSV。從 JSON 到 SQL 的其他轉換目標,都在資料格式轉換頁面。

CSV 轉 Parquet 常見問題

Parquet 檔案會比原本的 CSV 小多少?

視資料而定。重複值多的欄位,例如國碼、狀態或日期,壓縮效果很好;唯一 ID 或自由文字的欄位則縮得較少。Parquet 檔通常只有 CSV 的一小部分大小,但沒有固定比例可以保證。

哪些工具可以讀取轉換後的 .parquet 檔案?

pandas 的 read_parquet、Polars、DuckDB(直接對檔名下 SELECT)、Apache Spark,以及 BigQuery、Snowflake、Amazon Athena、Redshift Spectrum 等雲端資料倉儲。多數工具也能把同一個資料夾中欄位相同的多個 Parquet 檔當作一張資料表來查詢。

欄位型別是如何決定的?

依各欄位的值判斷:整數、小數、日期和真假值會對應到相符的型別,內容混雜的欄位則維持為文字。轉換後請檢查開頭有 0 的代碼,例如 02134 這類郵遞區號;若必須保留 0,請維持為文字。

可以一次轉換多個結構相同的 CSV 檔案嗎?

可以,一次最多 20 個,每個檔案都會轉成各自的 .parquet 檔。把它們放在同一個資料夾,DuckDB 或 Spark 就能用 sales_*.parquet 這類萬用字元一併讀取。

不寫程式要怎麼查看 Parquet 檔案的內容?

Excel 和 Google 試算表無法直接按兩下開啟 .parquet。可以用 Parquet 轉 CSV 轉回資料列,或者如果你會寫一條 SQL 查詢,也可以使用 DuckDB 的命令列。