全部产品
Search
文档中心

E-MapReduce:Hudi

更新时间:Jun 24, 2025

Apache Hudi adalah kerangka kerja danau data yang memungkinkan Anda memperbarui dan menghapus data dalam sistem file yang kompatibel dengan Hadoop. Hudi juga mendukung konsumsi data yang telah berubah.

Jenis tabel

Hudi mendukung jenis tabel berikut:

  • Copy on Write

    Data disimpan dalam format Parquet. Setiap pembaruan membuat versi baru dari file selama operasi penulisan.

  • Merge on Read

    Data disimpan dalam kombinasi format penyimpanan kolom, seperti Parquet, dan format penyimpanan baris, seperti Avro. Data dasar disimpan dalam format penyimpanan kolom, sedangkan data tambahan disimpan dalam format penyimpanan baris. Data tambahan dicatat ke file berbasis baris dan dikompresi sesuai kebutuhan untuk membuat versi baru dari file kolom.

Tabel berikut menjelaskan perbedaan antara jenis tabel.

Poin perbedaan

Copy on Write

Merge on Read

Laten data

Tinggi

Rendah

Laten kueri

Rendah

Tinggi

Biaya pembaruan (I/O)

Tinggi (Setiap pembaruan membuat versi baru dari file selama operasi penulisan.)

Rendah (Data yang diperbarui ditambahkan ke log Delta.)

Ukuran file Parquet

Kecil

Besar

Amplifikasi tulis

Tinggi

Rendah (tergantung pada kebijakan penggabungan)

Jenis kueri

Hudi mendukung tiga jenis kueri berikut:

  • Kueri Snapshot

    Mengkueri snapshot terbaru dari commit tertentu. Untuk tabel Merge on Read, Hudi menggabungkan data dasar dalam penyimpanan kolom dan data log real-time secara online selama kueri snapshot. Untuk tabel Copy on Write, Hudi dapat mengkueri versi terbaru data dalam format Parquet.

    Baik tabel Copy on Write maupun Merge on Read mendukung kueri snapshot.

  • Kueri Inkremental

    Mengkueri data terbaru yang ditulis setelah commit tertentu.

    Baik tabel Copy on Write maupun Merge on Read mendukung kueri inkremental.

  • Kueri Dioptimalkan untuk Pembacaan

    Mengkueri hanya data terbaru dalam ruang lingkup tertentu sebelum commit tertentu. Kueri ini merupakan kueri snapshot yang dioptimalkan pada tabel Merge on Read. Jenis kueri ini dapat digunakan untuk mengurangi latensi kueri yang dihasilkan oleh penggabungan log data secara online, dengan mengorbankan ketepatan waktu kueri data.

Tabel berikut menjelaskan perbedaan antara kueri snapshot dan kueri dioptimalkan untuk pembacaan.

Poin perbedaan

Kueri snapshot

Kueri dioptimalkan untuk pembacaan

Laten data

Rendah

Tinggi

Laten kueri

Tinggi untuk tabel Merge on Read

Rendah

Skenario

  • Ingest Data Hampir Real-Time

    Hudi dapat digunakan untuk menyisipkan, memperbarui, dan menghapus data. Anda dapat mengambil data log dari Kafka dan Log Service ke Hudi secara real-time. Anda juga dapat menyinkronkan pembaruan data yang direkam dalam log biner database ke Hudi secara real-time.

    Hudi mengoptimalkan format file yang dihasilkan selama proses penulisan data untuk menyelesaikan masalah yang disebabkan oleh file kecil dalam Sistem File Terdistribusi Hadoop (HDFS). Dalam aspek ini, Hudi lebih kompatibel dengan HDFS dibandingkan solusi danau data tradisional lainnya.

  • Analitik Data Hampir Real-Time

    Hudi mendukung berbagai mesin analitik data, seperti Hive, Spark, Presto, dan Impala. Hudi ringan dan tidak bergantung pada proses layanan tambahan.

  • Pemrosesan Data Inkremental

    Hudi mendukung kueri inkremental. Anda dapat menjalankan pekerjaan Spark Streaming untuk mengkueri data terbaru yang ditulis setelah commit tertentu. Hudi memungkinkan Anda mengonsumsi data yang telah berubah dalam HDFS. Anda dapat menggunakan fitur konsumsi ini untuk mengoptimalkan arsitektur sistem yang ada.