Apache Parquet (Penyimpanan Kolumnar)
Parquet adalah format penyimpanan kolumnar yang dioptimalkan untuk kueri analitik pada dataset besar. Dengan menyimpan data kolom demi kolom daripada baris demi baris, Parquet memungkinkan kompresi efisien dan kueri cepat yang hanya membaca kolom yang diperlukan.
Tipe MIME
application/vnd.apache.parquet
Tipe
Biner
Kompresi
Lossless
Kelebihan
- + Excellent compression through columnar encoding
- + Fast analytical queries — reads only needed columns
- + Predicate pushdown skips irrelevant row groups entirely
- + Standard in Spark, DuckDB, Pandas, and cloud data lakes
Kekurangan
- − Not suited for transactional row-level updates
- − More complex to write than CSV or JSON
- − Schema evolution has some limitations
Kapan Menggunakan .PARQUET
Gunakan Parquet untuk data lake, beban kerja analitik, pemrosesan Spark/Pandas, dan dataset besar apa pun di mana kueri kolumnar dominan.
Detail Teknis
File Parquet berisi row group, masing-masing dibagi menjadi column chunk dengan encoding tingkat halaman (dictionary, RLE, delta). Statistik (min/max) per kolom memungkinkan predicate pushdown. Mendukung data bersarang melalui encoding Dremel.
Riwayat
Twitter dan Cloudera membuat Parquet pada tahun 2013, terinspirasi oleh paper Dremel Google. Menjadi proyek Apache dan sekarang menjadi format default untuk data lake, Spark, dan platform analitik modern.