Buka atau tempel file CSV lalu pilih Unduh Parquet. Secara bawaan setiap kolom berupa STRING UTF-8 yang boleh null, jadi ID seperti 000917 tetap dengan nol di depannya, dan sel kosong menjadi null. Pilih Deteksi angka dan true/false untuk menulis kolom INT64, DOUBLE, dan BOOLEAN jika semua nilainya cocok. File ditulis di browser Anda oleh penulis Parquet berbasis JavaScript; tidak ada yang diunggah.
Cara mengonversi CSV ke Parquet
- Buka file
.csv,.tsv, atau.txt, seret ke alat ini, atau tempel barisnya. Periksa tabel di Masukan; jika perlu, atur pemisah, baris judul kolom, atau pengodean di Pengaturan impor. - Pilih Tipe nilai, Kompresi, apakah akan memakai Tulis teks kosong sebagai null, dan Baris per row group.
- Pilih Unduh Parquet, lalu baca file
.parquetdengan DuckDB, pandas, Polars, Spark, atau pembaca Parquet lainnya.
Untuk mengonversi banyak file dengan pengaturan yang sama, pilih Batch: konversi beberapa file. Setiap file menjadi file Parquet sendiri, dan semuanya diunduh bersama dalam satu ZIP. Dalam mode batch, setiap file harus berukuran 25 MB atau kurang.
Skema dan tipe kolom
Nama kolom diambil dari baris judul kolom persis seperti tertulis. Judul kolom yang kosong menjadi Column 3 dan yang berulang menjadi name (2), sehingga setiap kolom Parquet punya nama yang unik. Setiap kolom bersifat opsional (boleh null).
| Simpan semua nilai sebagai teks | Pilihan bawaan. Setiap kolom berupa BYTE_ARRAY dengan anotasi string UTF-8, yang menyimpan setiap nilai byte demi byte, termasuk angka nol di depan, 1,5, N/A, dan berbagai format tanggal. |
|---|---|
| Bilangan bulat (dengan deteksi) | INT64 jika setiap nilai yang tidak kosong berupa bilangan bulat tanpa nol di depan, dari −9.007.199.254.740.991 sampai 9.007.199.254.740.991. Bilangan bulat yang lebih besar membuat kolom tetap teks. |
| Desimal (dengan deteksi) | DOUBLE jika setiap nilai berupa desimal biasa dengan maksimal 15 digit signifikan, sehingga tetap utuh setelah dikonversi. Kolom yang mencampur 12 dan 2.5 menjadi DOUBLE. |
| true / false (dengan deteksi) | BOOLEAN jika setiap nilainya true atau false dengan huruf besar/kecil apa pun. |
| Tanggal dan timestamp | Tetap STRING di kedua mode, misalnya 2026-03-01T08:00:00Z. Ubah tipenya di query engine Anda, misalnya CAST(reading_at AS TIMESTAMP) di DuckDB. |
Di kolom bertipe, sel kosong selalu menjadi null. Di kolom string, Tulis teks kosong sebagai null (aktif secara bawaan) menentukan apakah sel kosong menjadi null atau string kosong "".
Kompresi dan row group
| Snappy (cepat, bawaan umum) | Codec bawaan. Didukung oleh semua pembaca Parquet yang umum. |
|---|---|
| Gzip (lebih kecil) | Biasanya menghasilkan file yang lebih kecil daripada Snappy. Sebagian pembaca ringan tidak menyertakan dukungan gzip. |
| Tanpa | Tanpa kompresi, untuk debugging atau untuk alat yang tidak punya dekompresor. |
| Baris per row group | Bawaan 100.000, antara 1.000 dan 1.000.000. Karena ruang kerja browser menampung hingga 100.000 baris, nilai bawaan menghasilkan satu row group; isi nilai yang lebih kecil untuk mendapatkan beberapa row group yang bisa dilewati atau dibaca paralel oleh pembaca. |
File juga mencatat penulisnya (hyparquet) dan kunci created_by_app di metadatanya.
Masalah umum saat mengonversi CSV ke Parquet
- Kolom angka bertipe STRING. Entah Simpan semua nilai sebagai teks yang dipilih, atau ada satu nilai yang bukan angka biasa, seperti
1,234,12 kg,007, atau desimal 16 digit. Temukan nilainya dengan profil kolom atau penampil CSV. - ID kehilangan angka nol di depannya di alat lain. Konverter ini tidak pernah menjadikan kolom bernol di depan sebagai angka. Jika ID-nya berubah, kemungkinan CSV sudah dibuka dan disimpan di spreadsheet sebelum dikonversi; periksa file sumbernya di penampil CSV.
- Semua data ada di satu kolom. Pemisahnya salah ditebak; pilih di Pengaturan impor.
- File terlalu besar untuk alat ini. Konversi ke Parquet berlaku untuk file hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel. Pecah CSV-nya lalu konversikan bagian-bagiannya, atau kompres CSV-nya dengan gzip jika Anda hanya butuh unduhan yang lebih kecil.
Batas dan privasi
CSV harus bisa dibuka di ruang kerja browser: hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel. File Parquet dibuat di memori dalam sekali jalan.
Penulisnya adalah hyparquet-writer, pustaka JavaScript murni yang hanya dimuat saat Anda mengonversi; tidak ada WebAssembly maupun langkah di server. Penulis ini berjalan di worker latar belakang pada tab ini, jadi halaman tetap responsif dan Batal bisa menghentikannya. File CSV tidak pernah dikirim ke server. Untuk file database yang bisa di-query, gunakan CSV ke SQLite.
Contoh: data sensor dibaca kembali dengan PyArrow
Data pembacaan sensor dengan ID bernol di depan, timestamp ISO, sel kosong, dan koma bertanda kutip, dikonversi dengan Deteksi angka dan true/false dan kompresi bawaan Snappy, lalu dibaca kembali dengan PyArrow. temp_c menjadi DOUBLE dan ok menjadi BOOLEAN; sensor_id dan reading_at tetap string. Dengan pilihan bawaan Simpan semua nilai sebagai teks, kelima kolom bertipe string dan ok tetap TRUE seperti tertulis.
sensor_id,reading_at,temp_c,ok,site 000917,2026-03-01T08:00:00Z,21.5,true,Lab 2 000918,2026-03-01T08:05:00Z,,false, 000919,2026-03-01T08:10:00Z,-3,TRUE,"Roof, north"
schema:
sensor_id: string
reading_at: string
temp_c: double
ok: bool
site: string
rows: 3, row groups: 1, compression: SNAPPY
{'sensor_id': '000917', 'reading_at': '2026-03-01T08:00:00Z', 'temp_c': 21.5, 'ok': True, 'site': 'Lab 2'}
{'sensor_id': '000918', 'reading_at': '2026-03-01T08:05:00Z', 'temp_c': None, 'ok': False, 'site': None}
{'sensor_id': '000919', 'reading_at': '2026-03-01T08:10:00Z', 'temp_c': -3.0, 'ok': True, 'site': 'Roof, north'}Tanya jawab
Apakah CSV saya diunggah untuk dikonversi?
Tidak. File Parquet ditulis oleh pustaka JavaScript di worker pada tab browser Anda, dan unduhannya dibuat secara lokal.
Mengapa tanggal tidak ditulis sebagai DATE atau TIMESTAMP Parquet?
Tanggal di CSV muncul dalam banyak format dan zona waktu, dan menebaknya diam-diam bisa menggeser nilainya. Tanggal ditulis sebagai string persis seperti di file; ubah tipenya di DuckDB, Spark, atau pandas, tempat Anda menentukan format dan zona waktunya.
Kompresi mana yang sebaiknya dipilih?
Snappy bisa dipakai dengan hampir semua pembaca Parquet. Pilih gzip jika ukuran file lebih penting dan pembaca Anda mendukungnya, dan tanpa kompresi hanya untuk debugging.