Xem File Parquet
Trình xem Apache Parquet ngay trong trình duyệt. Mở file nén SNAPPY, GZIP và ZSTD, xem dữ liệu dạng cột, xuất CSV/JSON. File không rời khỏi thiết bị.
Giới Thiệu Công Cụ Xem File Parquet
Apache Parquet là định dạng lưu trữ theo cột thực tế cho dữ liệu lớn — được tạo tại Twitter và Cloudera năm 2013, được tặng cho Apache Software Foundation, và nay là định dạng file mặc định cho stage Snowflake, data lake AWS S3, xuất Google BigQuery, Databricks Delta Lake và model dbt. Bố cục theo cột, nén Snappy/ZSTD và metadata schema phong phú khiến nó nhỏ hơn 3-10 lần so với CSV tương đương trong khi vẫn hỗ trợ predicate pushdown và column pruning cho truy vấn phân tích nhanh. Nhưng khác CSV, bạn không thể mở file Parquet trong Excel hoặc trình soạn thảo văn bản — bố cục nhị phân yêu cầu công cụ chuyên biệt. Trình xem này dùng thư viện parquet-wasm (triển khai Rust biên dịch sang WebAssembly) để đọc file của bạn hoàn toàn trong trình duyệt, hiển thị bản xem trước dạng bảng tính và xuất sang CSV hoặc JSON mà không bao giờ tải byte lên máy chủ.
File Parquet là gì?
Apache Parquet là định dạng file lưu trữ theo cột được tối ưu hóa để sử dụng với các framework xử lý dữ liệu lớn. Nó cung cấp các cơ chế nén và mã hóa dữ liệu hiệu quả, làm cho nó phổ biến trong phân tích dữ liệu, data lake và các pipeline học máy. File Parquet được sử dụng rộng rãi với các công cụ như Apache Spark, Hadoop và AWS Athena.
Dữ liệu của tôi có rời khỏi thiết bị không?
Không. Tất cả quá trình phân tích và xử lý Parquet diễn ra cục bộ trên trình duyệt của bạn bằng WebAssembly (parquet-wasm). Dữ liệu của bạn không bao giờ rời khỏi máy, đảm bảo quyền riêng tư hoàn toàn cho các bộ dữ liệu nhạy cảm như dữ liệu khách hàng, hồ sơ tài chính hoặc phân tích bí mật.
Tôi có thể chỉnh sửa dữ liệu Parquet không?
Công cụ này chỉ cho phép xem các file Parquet. Bạn có thể xem trước dữ liệu và xuất sang định dạng CSV hoặc JSON. Nếu cần chỉnh sửa dữ liệu, hãy xuất sang CSV trước và sử dụng công cụ Xem & Chỉnh Sửa CSV của chúng tôi.
Tôi có thể xem file có kích thước bao nhiêu?
Công cụ có thể xử lý các file Parquet với nhiều kích thước khác nhau. Đối với các file rất lớn (>100MB), bạn có thể muốn giới hạn số dòng hiển thị để đảm bảo hiệu suất mượt mà. Công cụ sử dụng phân tích WebAssembly hiệu quả để xử lý file nhanh chóng.
Tôi có thể xuất sang các định dạng khác không?
Có. Bạn có thể xuất dữ liệu Parquet của mình thành file CSV (phân cách bằng dấu phẩy) hoặc định dạng JSON. Điều này giúp dễ dàng sử dụng dữ liệu trong các ứng dụng bảng tính, cơ sở dữ liệu hoặc ứng dụng web.

Tại sao nên sử dụng định dạng Parquet?
Parquet lý tưởng cho dữ liệu lớn và phân tích vì nó lưu trữ dữ liệu theo cột thay vì theo dòng. Điều này cung cấp khả năng nén tốt hơn, hiệu suất truy vấn nhanh hơn cho các tác vụ phân tích và các cơ chế mã hóa hiệu quả. Nó được sử dụng rộng rãi trong kỹ thuật dữ liệu, khoa học dữ liệu và kho dữ liệu đám mây.
Parquet so với CSV, JSON, Avro như thế nào?
CSV theo hàng, không nén, không kiểu và con người đọc được — hoàn hảo cho chuyển giao nhỏ nhưng chậm và cồng kềnh cho phân tích. JSON theo hàng với lồng nhau đầy đủ và kiểu, nhưng dài dòng. Avro là định dạng nhị phân theo hàng với schema nhúng, tốt cho dữ liệu stream (Kafka) nơi bạn viết một lần và phát lại tuần tự. Parquet theo cột với schema nhúng và nén tích cực — file thường có kích thước 30-50% so với CSV nén gzip tương đương. Lợi thế hiện rõ trong truy vấn phân tích: SELECT avg(price) FROM 10M dòng chỉ đọc cột price từ đĩa (column pruning), và predicate pushdown bỏ qua toàn bộ row group không khớp mệnh đề WHERE. Cho phân tích tương tác trên >1M dòng, Parquet nhanh hơn 5-50 lần CSV. Cho chèn từng dòng hoặc tra cứu một bản ghi, định dạng theo hàng hoặc database vẫn tốt hơn.
Parquet hỗ trợ những codec nén nào?
Parquet hỗ trợ sáu codec nén cho mỗi column chunk: SNAPPY (mặc định — nén/giải nén nhanh, tỷ lệ khiêm tốn), GZIP (file nhỏ hơn nhưng chậm hơn), ZSTD (hiện đại, nhanh hơn GZIP ở tỷ lệ tương tự — khuyến nghị cho pipeline mới từ Parquet 2.4), LZ4_RAW (nhanh nhất, tỷ lệ thấp nhất), BROTLI (tỷ lệ tốt nhất cho cột nhiều văn bản, nén chậm hơn), và UNCOMPRESSED. Nén được áp dụng theo cột, nên một file có thể trộn các codec dựa trên cái nào hoạt động tốt nhất cho từng kiểu cột. SNAPPY trở thành mặc định vì nó cung cấp cân bằng tốt giữa tốc độ và kích thước cho khối lượng phân tích điển hình; ZSTD mức 3 nay là khuyến nghị cho lưu trữ lạnh nơi tốc độ đọc ít quan trọng hơn tiết kiệm đĩa.
Cấu trúc điển hình của file Parquet là gì?
File Parquet được tổ chức phân cấp: file -> row group -> column chunk -> page. Row group là phân vùng ngang (thường 128 MB hoặc 100k-1M dòng) cho phép đọc song song. Trong mỗi row group, dữ liệu cho mỗi cột được lưu trữ cùng nhau trong column chunk, được chia thành page (thường 1 MB). Thống kê cấp page (min, max, số null) cho phép predicate pushdown: truy vấn 'price > 100' có thể bỏ qua các page nơi max(price) < 100 mà không đọc dữ liệu thực tế. Footer file chứa schema, offset row group và metadata — reader tìm đến cuối trước để biết cấu trúc, rồi chỉ đọc các column chunk liên quan. Thiết kế này là lý do Parquet hiệu quả trên cloud storage: hầu hết truy vấn chỉ lấy vài MB của file nhiều GB.
Tôi có thể xem schema Parquet lồng nhau hoặc phức tạp (struct, map, list) không?
Có. Parquet hỗ trợ toàn bộ hệ thống kiểu Apache Arrow: nguyên thủy (int32, double, string, timestamp, decimal), struct (bản ghi lồng nhau), list (mảng độ dài thay đổi), map (cặp key-value), và kết hợp tùy ý. Trình xem này làm phẳng các trường lồng nhau dùng ký hiệu dot trong tiêu đề cột (user.address.city) và render list/map dưới dạng JSON trong ô của chúng. Schema phức tạp phổ biến trong đầu ra Spark/Databricks, dữ liệu VARIANT Snowflake và xuất event-streaming. Nếu file dùng kiểu logic như TIMESTAMP_MILLIS, DECIMAL(18,2) hoặc UUID, trình xem tôn trọng chúng và render giá trị dễ đọc. Cho kiểm tra chỉ schema mà không xem dữ liệu, dùng 'parquet-tools schema file.parquet' hoặc câu lệnh DESCRIBE của DuckDB: DESCRIBE SELECT * FROM 'file.parquet' LIMIT 0.
Công cụ này xử lý file Parquet lớn hiệu quả ra sao?
Ba tối ưu: (1) thư viện parquet-wasm chỉ đọc metadata footer trước (thường <100 KB), nên mở file 1 GB chỉ mất mili giây trước khi dữ liệu hàng nào được yêu cầu; (2) điều khiển 'Số dòng tối đa hiển thị' giới hạn bao nhiêu dòng được giải mã để xem trước — hữu ích cho file có hàng triệu dòng nơi bạn chỉ cần xác minh schema và giá trị mẫu; (3) chỉ các cột bạn cuộn tới được giải mã eager nhờ bố cục cột. Cho file lớn hơn bộ nhớ trình duyệt (>500 MB trên mobile, >2 GB trên desktop), xem xét công cụ như DuckDB-WASM có thể stream Parquet từ URL mà không bao giờ tải file đầy đủ. Cho khối lượng phân tích sản xuất, truy vấn Parquet trực tiếp từ cloud storage bằng Polars, Pandas read_parquet, Spark, BigQuery external table hoặc Athena — đừng bao giờ tải file vào bộ nhớ chỉ để truy vấn.
