Apa itu Apache Parquet?

21 Januari 2025

Penyusun

Matthew Kosinski

Enterprise Technology Writer

Apa itu Apache Parquet?

Apache Parquet adalah format penyimpanan kolumnar sumber terbuka yang digunakan untuk menyimpan, mengelola, dan menganalisis kumpulan data besar secara efisien. Tidak seperti format penyimpanan berbasis baris seperti CSV atau JSON, Parquet mengatur data dalam kolom untuk meningkatkan kinerja kueri dan mengurangi biaya penyimpanan data.

Organisasi menggunakan format file yang berbeda untuk memenuhi kebutuhan data lainnya. Banyak format tradisional mengatur data dalam baris, mengoptimalkan transfer data sederhana dan keterbacaan.

Parquet mengambil pendekatan yang berbeda secara fundamental. Ini mengelompokkan tipe data serupa dalam kolom. Struktur kolom ini telah membantu mengubah cara organisasi menangani analisis skala besar, memungkinkan kompresi yang unggul dan akses data yang ditargetkan.

Misalnya, ketika menganalisis transaksi pelanggan, database retail yang menggunakan Parquet dapat mengakses kolom tertentu seperti tanggal dan jumlah pembelian tanpa memuat seluruh catatan pelanggan. Kemampuan untuk mengakses kolom tertentu ini dapat mengurangi waktu pemrosesan dan biaya penyimpanan.

Format Parquet sangat berharga di 3 bidang utama:

  • Beban kerja analitik yang memproses kueri kompleks di miliaran catatan.
  • Danau data dan gudang data membutuhkan penyimpanan yang efisien dan pengambilan data yang cepat.
  • Machine learning (ML) yang menganalisis atribut tertentu di seluruh kumpulan data pelatihan besar.

Alasan lain adopsi Parquet secara luas adalah kompatibilitasnya dengan sistem terdistribusi dan alat data, seperti Apache Spark, Apache Hive, dan Apache Hadoop.

Karakteristik utama Apache Parquet

Dibandingkan dengan format file lainnya, Parquet mengubah penyimpanan data dan akses melalui 3 kemampuan utama:

  • Format penyimpanan kolumnar: Sementara format file tradisional menyimpan data dalam baris seperti entri spreadsheet, Parquet menggunakan format penyimpanan kolumnar. Ini mengatur jenis data serupa bersama-sama dalam kolom, memungkinkan Parquet untuk membaca hanya nilai kolom yang relevan. Pendekatan yang ditargetkan ini membantu mengurangi waktu kueri dari jam menjadi menit sekaligus menurunkan biaya penyimpanan secara signifikan.
  • Manajemen skema dan metadata: Setiap file Parquet menyertakan skema yang mendeskripsikan diri sendiri—secara efektif merupakan cetak biru struktur datanya. Metadata ini membantu dengan kueri yang efisien dan memungkinkan model data berkembang seiring perubahan kebutuhan bisnis. Misalnya, database perusahaan yang menggunakan Parquet dapat menambahkan atribut pelanggan baru tanpa membangun kembali catatan yang ada.
  • Kompresi yang efisien: Parquet secara otomatis mengoptimalkan penyimpanan data melalui teknik kompresi yang canggih—artinya membuat file lebih kecil dengan menghapus informasi duplikat yang tidak diperlukan dan menyimpan data dalam format yang lebih hemat ruang. Pendekatan cerdas untuk penyimpanan data ini membantu memastikan efisiensi penyimpanan dan kinerja komputasi yang optimal di berbagai jenis beban kerja.
Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Cara kerja Apache Parquet

Apache Parquet secara sistematis mengubah data mentah menjadi format kolumnar yang dioptimalkan, secara signifikan meningkatkan efisiensi penyimpanan dan kinerja kueri.

Berikut cara Parquet memproses data:

1. Organisasi data

Saat menulis data ke berkas Parquet, formatnya terlebih dahulu membagi data ke dalam kelompok baris. Setiap kelompok baris mewakili unit independen dari kumpulan data, yang memungkinkan pemrosesan paralel dan manajemen memori yang efisien untuk operasi berskala besar. Strategi partisi ini membentuk fondasi untuk akses data kinerja tinggi dari Parquet.

2. Potongan kolom

Dalam setiap grup baris, algoritma perakitan Parquet mengatur ulang data berdasarkan kolom daripada baris. Jenis data serupa dikelompokkan ke dalam potongan kolom, memungkinkan pengkodean khusus berdasarkan karakteristik data. Misalnya, kolom tanggal dapat dioptimalkan secara berbeda dari kolom nilai numerik.

3. Kompresi dan pengkodean

Parquet menerapkan proses optimasi dua tahap. Pertama, ia menggunakan skema pengkodean seperti run-length encoding (RLE) untuk merepresentasikan nilai yang berulang secara efisien-khususnya sangat berharga untuk kolom dengan banyak entri duplikat. Kemudian, ia menerapkan algoritma kompresi seperti Snappy atau Gzip untuk lebih mengurangi persyaratan penyimpanan.

 4. Pembuatan metadata

Format ini menciptakan metadata yang komprehensif—termasuk skema file dan tipe data, statistik untuk setiap kolom, lokasi dan struktur grup baris. Metadata ini membantu memungkinkan perencanaan dan pengoptimalan kueri yang efisien.

5. Eksekusi kueri

Saat membaca data Parquet, mesin kueri terlebih dahulu berkonsultasi dengan metadata untuk mengidentifikasi kolom yang relevan. Hanya potongan kolom yang diperlukan yang dibaca dari penyimpanan, dan data didekompresi dan diterjemahkan sesuai kebutuhan.

Manfaat Apache Parquet

Apache Parquet dapat memberikan keuntungan yang signifikan bagi organisasi yang mengelola operasi data skala besar.

Beberapa manfaatnya termasuk:

Kinerja kueri

Struktur data Parquet dapat membuat menjalankan kueri analitis jauh lebih cepat. Ketika aplikasi membutuhkan data tertentu, mereka hanya mengakses kolom yang relevan, mengurangi waktu kueri dari jam menjadi menit. Akses yang ditargetkan ini membuat Parquet berharga bagi organisasi yang menjalankan analitik kompleks dalam skala besar.

Penanganan data yang kompleks

Tidak seperti format yang lebih sederhana, Parquet dapat secara efisien mengelola struktur data bersarang dan array yang umum digunakan dalam aplikasi modern. Kemampuan ini membuatnya berguna bagi organisasi yang berurusan dengan tipe data yang kompleks, seperti struktur mirip JSON dalam analisis web atau array bersarang dalam data sensor dari perangkat Internet of Things (IoT).

Efisiensi penyimpanan

Format kolumnar Parquet secara fundamental mengubah cara data disimpan dan dikompresi. Dengan mengelompokkan tipe data yang serupa, Parquet dapat menerapkan algoritma pengkodean yang berbeda untuk setiap jenis data, mencapai rasio kompresi yang lebih baik daripada format seperti CSV atau JSON.

Misalnya, kumpulan data yang berisi jutaan transaksi pelanggan mungkin memerlukan penyimpanan terabyte dalam format CSV tetapi hanya sebagian kecil dari ruang itu ketika disimpan sebagai file Parquet.

Integrasi kerangka kerja

Arsitektur data modern sering kali memerlukan integrasi alat yang mulus, yang disediakan Parquet melalui dukungan asli untuk kerangka kerja utama. Baik jika tim menggunakan Python dengan pandas untuk analisis, Java untuk pengembangan aplikasi atau Apache Spark untuk pemrosesan data, Parquet dapat membantu memastikan akses data yang konsisten di seluruh perusahaan.

Pengoptimalan ekosistem Hadoop

Integrasi asli Parquet dengan Hadoop membuatnya sangat efektif untuk pemrosesan big data. Karena Parquet dibangun untuk Hadoop Distributed File System (HDFS), umumnya berkinerja lebih baik daripada format file tradisional di lingkungan Hadoop. Saat menggunakan Parquet dengan Hadoop, organisasi dapat menjalankan kueri lebih cepat dan menyimpan data mereka lebih efisien, seringkali dengan menggunakan sebagian kecil dari penyimpanan yang mereka butuhkan sebelumnya.

IBM Storage FlashSystem

IBM Storage FlashSystem: Mengoptimalkan VMware untuk biaya, kesederhanaan, dan ketahanan

Temukan cara IBM FlashSystem mengoptimalkan lingkungan VMware untuk efisiensi biaya, kesederhanaan, dan ketahanan. Sesi ini menyoroti bagaimana FlashSystem dapat meningkatkan keamanan data, aksesibilitas, dan kinerja, yang menjadikannya solusi ideal untuk infrastruktur TI modern.

Contoh penggunaan umum Parquet

Apache Parquet dapat memenuhi berbagai kebutuhan rekayasa data di seluruh industri dan aplikasi.

Beberapa implementasinya yang paling berdampak meliputi:

Danau data dan gudang data

Organisasi yang membangun danau data dan gudang data sering kali memilih Parquet sebagai format penyimpanan utama mereka. Kompresi dan kinerja kueri yang efisien membuatnya ideal untuk menyimpan data dalam volume besar sambil mempertahankan akses cepat ke alat intelijen bisnis dan kueri bahasa kueri terstruktur (SQL).

Misalnya, rantai retail yang menggunakan Parquet untuk menyimpan data transaksi dapat menganalisis pola penjualan di ribuan toko sambil menggunakan ruang penyimpanan yang lebih sedikit daripada format tradisional.

Beban kerja analitik

Ilmuwan dan analis data yang bekerja dengan kerangka kerja seperti Apache Spark atau pustaka panda Python mendapat manfaat dari kinerja Parquet yang dioptimalkan untuk kueri analitis. Meskipun format seperti Avro sering kali unggul dalam pemrosesan tingkat rekaman, banyak yang menganggap format file Parquet sangat efektif untuk analisis yang kompleks.

Misalnya, perusahaan jasa keuangan mungkin menggunakan Parquet untuk menyimpan data pasar, memungkinkan analis untuk memproses jutaan peristiwa perdagangan dan menghitung metrik risiko dalam hampir real-time.

Pipeline ETL

Pipeline data modern sering kali menggunakan Parquet sebagai format perantara atau target selama proses ekstrak, transformasi, dan muat (ETL). Kompatibilitasnya dengan kerangka kerja populer seperti Apache Spark dan dukungan untuk evolusi skema membuatnya berharga untuk alur kerja rekayasa data yang perlu menangani perubahan struktur data.

Sebagai contoh, organisasi perawatan kesehatan dapat menggunakan Parquet untuk mengubah catatan pasien secara efisien dari berbagai sistem ke dalam format terpadu, dengan kemampuan evolusi skema yang secara otomatis menangani bidang data baru tanpa mengganggu proses yang ada.

Apache Parquet vs. format file lainnya

Berikut adalah bagaimana format file Parquet dibandingkan dengan format penyimpanan umum lainnya:

Parquet vs. CSV dan JSON

Format tradisional seperti CSV dan JSON toko data dalam baris, sehingga ideal untuk transfer data sederhana dan mudah dibaca oleh manusia. Namun, ketika berhadapan dengan analitik skala besar, membaca file Parquet menawarkan keuntungan yang signifikan.

Sementara CSV harus memindai seluruh baris bahkan ketika melakukan kueri pada satu kolom, penyimpanan kolumnar Parquet memungkinkan akses langsung ke elemen data tertentu. Misalnya, menganalisis satu kolom dalam kumpulan data berskala petabyte mungkin memerlukan pembacaan seluruh file CSV, sementara Parquet hanya akan mengakses potongan kolom yang relevan.

Parquet vs. Avro

Avro dan Parquet melayani contoh penggunaan yang berbeda dalam ekosistem data. Format berbasis baris Avro unggul dalam skenario serialisasi dan streaming, membuatnya ideal untuk merekam peristiwa atau transaksi individual.

Sebaliknya, format file Parquet, dioptimalkan untuk beban kerja analitis di mana organisasi perlu menganalisis kolom tertentu di jutaan catatan.

Misalnya, platform e-commerce mungkin menggunakan Avro untuk menangkap peristiwa pesanan real-time tetapi mengonversi data ini ke Parquet untuk penyimpanan dan analisis jangka panjang.

Ekosistem alat dan kerangka kerja pendukung

Kekuatan Apache Parquet tidak hanya terletak pada spesifikasi formatnya tetapi juga pada ekosistem alat dan kerangka kerjanya yang kuat.

Beberapa teknologi paling signifikan dalam ekosistem Parquet meliputi:

Kerangka kerja pemrosesan

Parquet terintegrasi dengan lancar dengan kerangka kerja pemrosesan data utama. Apache Spark menyediakan kemampuan analitik dengan kinerja tinggi, sementara Hadoop memungkinkan pemrosesan terdistribusi di seluruh cluster besar.

Apache Arrow dapat lebih meningkatkan ekosistem pemrosesan ini dengan memungkinkan berbagi data yang cepat dan efisien antara sistem dan akses data langsung—fitur yang mempercepat kinerja saat menggunakan kerangka kerja seperti Spark dan Hadoop.

Organisasi dapat menggabungkan kerangka kerja ini dengan Parquet untuk membangun pipeline data yang efisien mulai dari gigabyte hingga petabyte.

Bahasa pemrograman dan antarmuka

Insinyur data dapat bekerja dengan Parquet melalui beberapa antarmuka pemrograman. Pengembang Python biasanya menggunakan pandas untuk manipulasi data, sedangkan aplikasi Java menggunakan pustaka Parquet asli.

Platform cloud

Penyedia cloud utama, termasuk Amazon Web Services, Google Cloud Platform, Microsoft Azure dan IBM Cloud, menawarkan dukungan Parquet native.

Parquet juga kompatibel dengan gudang data berbasis cloud dan mesin kueri seperti Amazon Athena, Google BigQuery dan IBM Db2 Warehouse.

Solusi terkait
IBM Storage DS8000

IBM Storage DS8000 adalah sistem penyimpanan tercepat, paling andal, dan aman untuk server IBM zSystems dan IBM Power.

Jelajahi Storage DS8000
Solusi Penyimpanan Data Perusahaan

IBM Storage adalah sebuah rangkaian perangkat keras penyimpanan data, penyimpanan berbasis perangkat lunak, dan perangkat lunak manajemen penyimpanan.

Jelajahi solusi penyimpanan data
Layanan Dukungan Perangkat Keras dan Perangkat Lunak  

IBM menyediakan ProActive Support untuk server web dan infrastruktur pusat data guna mengurangi waktu henti dan meningkatkan ketersediaan TI.

Layanan server web
Ambil langkah selanjutnya

Dari mengelola hybrid cloud hingga memastikan ketahanan data, solusi IBM Storage memudahkan Anda untuk mendapatkan insight dari data Anda sembari mempertahankan perlindungan yang kuat terhadap ancaman.

Jelajahi solusi penyimpanan data Ikuti tur produk