Chuyển CSV sang Parquet
CSV dễ tạo nhưng truy vấn chậm. Tải lên file CSV và nhận về file Apache Parquet với kiểu dữ liệu cho từng trường, đã được nén và sẵn sàng cho công cụ phân tích bạn sử dụng.
Chuyển đổi dữ liệu
hoặc thả tệp CSV, TSV, TXT … vào đây ·
Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút
Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.
Ký tự ngăn cách các cột trong tệp CSV và văn bản, dùng cho cả đọc và ghi. Tự động sẽ nhận diện từ dữ liệu đầu vào và ghi bằng dấu phẩy.
UTF-8 dùng được cho mọi ngôn ngữ. Chọn UTF-8 có BOM nếu Excel trên Windows hiển thị sai ký tự có dấu hoặc ký tự châu Á khi mở tệp CSV.
Với đầu vào Excel, ODS và Numbers: chỉ chuyển trang tính đầu tiên, hoặc mọi trang tính (mỗi trang tính một tệp CSV trong tệp ZIP, hoặc mỗi trang tính một khóa JSON).
Tên thẻ trang tính trong bảng tính mới, tối đa 31 ký tự.
Mảng đối tượng dùng tên cột làm khóa cho từng dòng; mảng của mảng gọn hơn và giữ tiêu đề làm mảng đầu tiên.
Tên phần tử ngoài cùng bao tất cả các dòng; mỗi dòng trở thành một <row> bên trong nó.
Dùng trong các câu lệnh CREATE TABLE và INSERT. Chỉ gồm chữ cái, chữ số và dấu gạch dưới.
Cách đặt dấu trích dẫn và kiểu cột hơi khác nhau giữa các cơ sở dữ liệu; hãy chọn hệ bạn sẽ nhập vào.
Ghi lại các ô ngày tháng theo một định dạng thống nhất. ISO (2026-10-18) an toàn nhất cho cơ sở dữ liệu và mã nguồn; giữ nguyên để chúng như trong tệp gốc.
Cách sử dụng công cụ này
- 1
Tải lên các file CSV
Thêm một file xuất hoặc tối đa 20 file có cùng cấu trúc, mỗi file tối đa 95 MB. Để Ký tự phân cách ở chế độ Tự động nhận diện, công cụ xử lý được dấu phẩy, dấu chấm phẩy, tab và dấu gạch đứng.
- 2
Giữ nguyên cài đặt tiêu đề cột và ngày tháng
Dòng đầu là tiêu đề biến dòng tiêu đề thành tên cột. Ngày tháng đặt ở ISO để các cột ngày được ghi theo một dạng thống nhất.
- 3
Chuyển sang Parquet
Nhấn Chuyển sang Parquet, rồi nạp file .parquet vào pandas, DuckDB, Spark hoặc kho dữ liệu của bạn.
Vì sao các nhóm dữ liệu chuyển CSV sang Parquet
Parquet ra đời năm 2013 bởi các kỹ sư tại Twitter và Cloudera, dựa trên cách bố trí theo cột mà Google mô tả trong bài báo Dremel năm 2010, và trở thành dự án cấp cao nhất của Apache vào năm 2015. Ý tưởng khá đơn giản: thay vì lưu bảng theo từng dòng như CSV, Parquet lưu tất cả giá trị của một cột cạnh nhau. Truy vấn cần ba cột trong bốn mươi cột chỉ đọc đúng ba cột đó, và các giá trị giống nhau nằm cạnh nhau nén tốt hơn nhiều.
Đó là lý do nhà phân tích chuyển file xuất trước khi nạp, kỹ sư dữ liệu yêu cầu nhà cung cấp gửi Parquet thay vì CSV, và các dịch vụ như Amazon Athena, BigQuery, vốn có thể tính phí theo lượng dữ liệu được quét, truy vấn rẻ hơn. CSV cũng không biết 0042 là số hay là mã; Parquet ghi lại kiểu cho từng cột nên công cụ tiếp theo không phải đoán.
So sánh Parquet, CSV và XLSX cho bảng dữ liệu lớn
| Parquet | CSV | XLSX | |
|---|---|---|---|
| Kiểu cột được lưu trong file | yes | no | Theo từng ô |
| Chỉ đọc các cột mà truy vấn cần | yes | no | no |
| Có nén | yes | no | yes |
| Đọc được bằng trình soạn thảo văn bản | no | yes | no |
| Mở bằng Excel bằng cách nhấp đúp | no | yes | yes |
| Số dòng mỗi file | Không giới hạn cố định | Không giới hạn cố định | 1.048.576 mỗi trang tính |
Những gì thay đổi khi CSV trở thành Parquet
Lợi ích
- Truy vấn nhanh hơn vì chỉ đọc các cột cần thiết
- File nhỏ hơn để lưu trữ và di chuyển
- Lược đồ để công cụ tiếp theo đọc thay vì đoán
- Ngày tháng được ghi một lần theo dạng ISO
Cần lưu ý
- Không chỉnh sửa được trong bảng tính hay trình soạn thảo văn bản
- Một lỗi gõ trong cột số có thể biến cả cột thành văn bản
- Hãy giữ lại file CSV nếu mọi người vẫn cần mở nó
Thông tin về định dạng CSV và Parquet
CSV
Giá trị phân tách bằng dấu phẩy (CSV)
CSV là định dạng văn bản thuần cho bảng, trong đó mỗi dòng là một hàng và dấu phẩy phân tách các cột. Định dạng đã được dùng từ những ngày đầu của ngành máy tính và được mô tả trong RFC 4180, dù nhiều biến thể dùng dấu chấm phẩy hoặc tab và các bảng mã văn bản khác nhau. Gần như mọi bảng tính, cơ sở dữ liệu và công cụ phân tích đều nhập và xuất được CSV, nên đây là định dạng mặc định để chuyển dữ liệu giữa các hệ thống. CSV chỉ lưu giá trị, không có công thức, định dạng trình bày, nhiều trang tính hay kiểu dữ liệu.
- Nén
- –
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- –
PARQUET
Dữ liệu Apache Parquet
Parquet là định dạng lưu trữ dạng cột mã nguồn mở do Twitter và Cloudera tạo ra năm 2013, hiện do Apache Software Foundation duy trì. Định dạng lưu dữ liệu theo cột với khả năng nén mạnh và lược đồ có kiểu dữ liệu, nên các công cụ phân tích chỉ cần đọc những cột cần thiết. Đây là chuẩn phổ biến trong data lake và các công cụ như Spark, pandas, DuckDB, BigQuery và Snowflake. Tệp Parquet ở dạng nhị phân và không thể mở bằng trình soạn thảo văn bản hay ứng dụng bảng tính thông thường.
- Nén
- Không mất dữ liệu
- Độ trong suốt
- –
- Ảnh động
- –
- Ra mắt
- 2013 · Apache Software Foundation (from Twitter and Cloudera)
CSV chuyển sang Parquet khi file không còn là thứ con người mở ra xem mà trở thành thứ các truy vấn quét qua: file xuất hằng ngày đổ vào data lake, bộ dữ liệu chia sẻ cho nhà phân tích, hoặc nhật ký được lọc theo vài cột mỗi lần.
Hãy làm sạch CSV trước khi chuyển chứ đừng sau đó: sửa tên tiêu đề, xóa các dòng tổng hợp ở cuối và bảo đảm mỗi cột chỉ chứa một loại giá trị. Nếu nguồn là bản sao lưu cơ sở dữ liệu chứ không phải CSV, hãy bắt đầu với SQL sang CSV. Mọi định dạng đích khác, từ JSON đến SQL, đều có trên trang chuyển đổi dữ liệu.
Câu hỏi thường gặp về chuyển CSV sang Parquet
File Parquet nhẹ hơn file CSV bao nhiêu?
Còn tùy vào dữ liệu. Các cột có nhiều giá trị lặp lại, như mã quốc gia, trạng thái hoặc ngày tháng, nén rất tốt, còn cột ID duy nhất hoặc văn bản tự do giảm ít hơn. File Parquet thường chỉ bằng một phần nhỏ dung lượng file CSV, nhưng không có tỉ lệ cố định nào để cam kết.
Những công cụ nào đọc được file .parquet sau khi chuyển đổi?
pandas với read_parquet, Polars, DuckDB với câu lệnh SELECT đơn giản trên tên file, Apache Spark và các kho dữ liệu đám mây như BigQuery, Snowflake, Amazon Athena và Redshift Spectrum. Hầu hết đều có thể truy vấn cả thư mục chứa các file Parquet cùng cột như một bảng duy nhất.
Kiểu dữ liệu của cột được xác định như thế nào?
Dựa trên giá trị trong từng cột: số nguyên, số thập phân, ngày tháng và giá trị đúng/sai được gán kiểu tương ứng, còn cột có nội dung hỗn hợp vẫn là văn bản. Sau khi chuyển, hãy kiểm tra các mã có số 0 đứng đầu, như mã ZIP 02134, và giữ chúng ở dạng văn bản nếu cần giữ số 0.
Có thể chuyển nhiều file CSV cùng cấu trúc một lúc không?
Được, tối đa 20 file mỗi lượt, và mỗi file thành một file .parquet riêng. Đặt chúng vào cùng một thư mục, DuckDB hoặc Spark có thể đọc chung bằng ký tự đại diện như sales_*.parquet.
Làm sao xem nội dung file Parquet mà không cần viết code?
Excel và Google Sheets không mở được file .parquet bằng cách nhấp đúp. Hãy chuyển lại thành các dòng bằng Parquet sang CSV, hoặc dùng dòng lệnh của DuckDB nếu bạn quen với một câu truy vấn SQL.