把 Parquet 檔案拖到這裡
支援 Parquet、Avro、Arrow IPC 或 JSON Lines。也可以點一下選擇檔案。
不用裝 Python 就能開 .parquet:schema 和前幾列馬上看到,直接下 SQL,結果匯出成 CSV。檔案只從你的磁碟讀,絕不上傳。
檔案直接從你的硬碟讀取,不會上傳。解析和每一條 SQL 查詢都在這個分頁裡完成;唯一會下載的是 DuckDB 引擎,第一次查詢時才抓。
把 Parquet 檔案拖到這裡
支援 Parquet、Avro、Arrow IPC 或 JSON Lines。也可以點一下選擇檔案。
同事丟來一個 .parquet 檔,你只想知道裡面裝了什麼——有哪些欄位、型別是什麼、大概幾列、前幾筆長怎樣。平常這表示要開 Jupyter、載入 pyarrow 或 pandas,為了一個三十秒的問題花幾分鐘準備環境。這個頁面就是為那一刻準備的 Parquet 檢視器:檔案丟進來,schema、row group 和預覽直接排好,需要彙總就在原地下 SQL。它也能開 .jsonl / .ndjson、Arrow IPC 檔(.arrow、.feather)和 .avro,一次一個檔案。CSV 請改用 CSV Explorer。
Parquet 把整個檔案的目錄放在結尾的 footer 裡,所以頁面只讀檔案最後那一段——大約 512 KB——不管檔案是 10 MB 還是 1 GB,schema 都是立刻出現。你會看到一棵 schema 樹:每個欄位的名稱、實體型別與邏輯型別(TIMESTAMP(MICROS, UTC)、DECIMAL(18,2)、巢狀的 struct、list、map)、可不可以是 null、總列數、每個 row group 的列數與位元組數、每欄的壓縮 codec(SNAPPY、ZSTD、GZIP 等)、用到的 encoding、壓縮前後的大小與壓縮比、寫入端有存的話還有 min/max 與 null 數統計、created_by 字串,以及 pandas 或 Spark 的 schema JSON 這類 key/value metadata(預設收合,點開才展開)。接著前 1,000 列的預覽會串流進虛擬表格。巢狀值可以展開成 JSON;時間戳記依單位用固定位數顯示(毫秒 3 位、微秒 6 位、奈秒 9 位),欄位標成 UTC 的話尾巴加 Z;decimal 顯示的是精確值,不會經過浮點數捨入;二進位欄位則顯示前 32 個位元組的十六進位。
查詢列由 DuckDB-WASM(DuckDB 1.4)驅動。第一次執行 SQL 時頁面會下載引擎,約 7 MB,之後瀏覽器會快取起來;Parquet 與 JSON 擴充則由本站自己提供。你的檔案永遠叫做資料表 t,所以預設查詢是 SELECT * FROM t LIMIT 100;範本一鍵帶出 SUMMARIZE t、count(*)、每欄的 null 比例,以及某一欄的前 N 名。每次結果都會顯示耗時與列數;畫面最多保留 10,000 列結果,要更多就加 LIMIT 或直接匯出。任何結果都能匯出成 CSV 或 JSONL,每次最多 1,000,000 列——超過被截掉時頁面會明講——這也是把 Parquet 轉 CSV 給打不開 Parquet 的人最快的方法。Stop 按鈕可以中止執行中的查詢,引擎的錯誤訊息原樣呈現、不改寫。1 GB、幾千萬列的檔案上,count(*) 從 metadata 直接讀所以瞬間完成,對單一欄位 GROUP BY 或對全部欄位 SUMMARIZE 則要幾秒到幾十秒;檔案只會分段讀取需要的部分,不會整個載入記憶體。
引擎只跑在一顆 CPU 核心上,因為本站無法開啟瀏覽器的多執行緒模式,所以大型 GROUP BY 或 join 會比同一台機器上的桌面版 DuckDB 明顯慢。記憶體受瀏覽器限制——32 位元 WebAssembly heap 大約 4 GB——超大的排序或 join 可能失敗,這時你會看到引擎自己的錯誤訊息。使用 modular encryption 加密的 Parquet 打不開。Iceberg 和 Delta Lake 是疊在 Parquet 上面的資料表層,這裡不會解讀:頁面開的是單一資料檔,不是整個資料表目錄,多檔選取也還沒支援。Arrow IPC 與 Avro 目前只顯示 schema 和 metadata,沒有列預覽也不能下 SQL。舊版 Spark 寫出來、帶溢位的 INT96 時間戳記,可能會顯示成「自 epoch 起的奈秒數」而不是日期。超過 15 位數的 DECIMAL min/max 統計是近似值,會標上 ≈。還不能匯出成 Parquet,結果只能以 CSV 或 JSONL 離開。
檔案用 File.slice 直接從你的磁碟讀取;什麼都不上傳,資料和查詢都不會離開瀏覽器。唯一的對外請求是第一次執行 SQL 時,從公開 CDN cdn.jsdelivr.net 抓 DuckDB 引擎的程式碼,之後就快取起來。
把檔案丟到這個頁面就好。schema、row group、codec、統計值和 metadata 會從檔案的 footer 立刻顯示出來,前 1,000 列載入到可以捲動的表格裡。不用 pyarrow、不用 notebook、不用安裝任何東西——而且什麼都不會上傳,因為檔案是從你自己的磁碟讀的。
不會。瀏覽器用 File.slice 讀檔,解析 footer、預覽列、執行 SQL 全部都在分頁裡完成。唯一會下載的是 DuckDB 引擎本身,約 7 MB,第一次執行查詢時從公開 CDN 抓下來。你的資料和查詢都不會離開你的機器。
schema 和預覽不需要引擎,但 SQL 是由編譯成 WebAssembly 的 DuckDB 執行的,那段程式碼大約 7 MB。第一次按 Run 時從公開 CDN cdn.jsdelivr.net 抓取,之後瀏覽器會快取供下次使用;Parquet 與 JSON 擴充來自本站。下載的只有引擎——你的檔案不會被送到任何地方。
桌面版 DuckDB 會把工作分散到你所有的核心上。這裡引擎只跑一顆核心,因為本站無法啟用瀏覽器的多執行緒 WebAssembly 模式。單純的掃描和從 metadata 讀出來的 count(*) 很快,但幾千萬列上的重型 GROUP BY、排序或 join 會花幾秒到幾十秒,而不是桌面版的零頭。
開啟檔案,執行像 SELECT * FROM t 這樣的查詢,再把結果匯出成 CSV。每次匯出最多寫 1,000,000 列;結果更大的話會在那裡截斷、頁面會告訴你,這時加 WHERE 或 LIMIT 分批匯出就好。JSONL 匯出也是同樣做法。匯回 Parquet 目前還不支援。
不行。Iceberg 和 Delta Lake 是描述一大堆 Parquet 檔的 metadata 層;這個頁面一次只開一個資料檔,不會讀那些資料表 manifest。從資料表的資料夾裡挑一個 .parquet 檔,就能檢視它的 schema 和列。多檔選取也還沒支援。
schema 和 metadata 可以:丟進 Arrow IPC 檔(.arrow、.feather)或 .avro 檔,欄位名稱和型別就會顯示出來。這些格式在這個版本還沒有列預覽和 SQL。JSONL / NDJSON 則是完整支援——從前幾列推斷 schema,預覽和 SQL 都能用。
舊版 Spark 寫出的 INT96 時間戳記可能溢位,這種值沒辦法換算成可信的日期,所以頁面不猜,直接顯示原始數值。正確寫入的時間戳記會依單位用固定位數顯示——毫秒 3 位、微秒 6 位、奈秒 9 位——欄位標成 UTC 的話再加上 Z。
Excel 開不動的 CSV,直接在瀏覽器用 SQL 查。
瀏覽 SQLite 資料庫:資料表、schema、SQL 查詢,全部在本機完成。
幾 GB 的文字、log 或 JSON 檔,不用整個載入也能讀。