全部产品
Search
文档中心

E-MapReduce:Iceberg

更新时间:Jun 24, 2025

Iceberg adalah format tabel terbuka untuk danau data. Anda dapat menggunakan Iceberg untuk membangun layanan penyimpanan danau data di Hadoop Distributed File System (HDFS) atau Alibaba Cloud Object Storage Service (OSS). Selanjutnya, Anda dapat menggunakan mesin komputasi seperti Apache Flink, Apache Spark, Apache Hive, atau Apache Presto dari ekosistem big data open source untuk menganalisis data di danau data Anda.

Fitur

Apache Iceberg dirancang untuk migrasi data Hive ke cloud. Setelah beberapa pembaruan, Apache Iceberg menjadi format tabel standar untuk danau data yang diterapkan di cloud. Untuk informasi lebih lanjut tentang Apache Iceberg, kunjungi situs resmi Apache Iceberg.

Apache Iceberg menyediakan fitur-fitur berikut:

  • Membangun layanan penyimpanan danau data ringan berbiaya rendah berbasis HDFS atau sistem penyimpanan objek.

  • Menghubungkan ke mesin komputasi open source utama untuk pengambilan data dan analisis.

  • Menyediakan semantik ACID (atomicity, consistency, isolation, durability) yang komprehensif.

  • Mendukung perubahan data tingkat baris.

  • Mendukung pelacakan balik versi historis.

  • Mendukung penyaringan data yang efisien.

  • Mendukung perubahan skema.

  • Mendukung perubahan partisi.

  • Mendukung partisi tersembunyi.

Tabel berikut membandingkan ClickHouse open source (gudang data real-time), Hive open source (gudang data offline), dan Alibaba Cloud E-MapReduce (EMR) Iceberg (danau data) berdasarkan dimensi arsitektur sistem, nilai bisnis, dan biaya pemeliharaan.

Item

Subitem

ClickHouse Open Source

Hive Open Source

Alibaba Cloud EMR Iceberg

Arsitektur sistem

Arsitektur

Komputasi dan penyimpanan terintegrasi

Komputasi dan penyimpanan dipisahkan

Komputasi dan penyimpanan dipisahkan

Mesin komputasi ganda

Tidak didukung

Didukung

Didukung

Penyimpanan data dalam sistem penyimpanan objek

Tidak didukung

Tidak sepenuhnya didukung

Didukung

Penyimpanan data dalam HDFS

Tidak didukung

Didukung

Didukung

Keterbukaan format penyimpanan

Tidak

Ya

Ya

Nilai bisnis

Ketepatan waktu

Tepat hingga detik

Tepat hingga jam atau hari

Tepat hingga menit

Fleksibilitas komputasi

Rendah

Tinggi

Tinggi

Transaksi

Tidak didukung

Tidak sepenuhnya didukung

Didukung

Kesemestaan semantik tingkat tabel

Buruk

Buruk

Bagus

Perubahan data tingkat baris

Tidak didukung

Dukungan terbatas

Didukung

Kualitas data

Bagus

Baik

Baik

Biaya pemeliharaan

Kinerja kueri

Tinggi

Sangat tinggi

Sangat tinggi

Biaya penyimpanan

Tinggi

Sedang

Rendah

Layanan mandiri

Tidak didukung

Tidak didukung

Didukung

Skalabilitas sumber daya

Sedang

Sedang

Bagus

Perbandingan antara Alibaba Cloud EMR Iceberg dan Apache Iceberg

Tabel berikut membandingkan Alibaba Cloud EMR Iceberg dan Apache Iceberg berdasarkan dimensi fitur dasar, perubahan data, dan mesin komputasi.

null

Tanda centang (✓) menunjukkan bahwa item terkait didukung, sedangkan tanda silang (x) menunjukkan bahwa item terkait tidak didukung.

Kategori

Item

Subitem

Apache Iceberg

EMR Iceberg

Fitur dasar

ACID

Tidak ada

Pelacakan balik versi historis

Tidak ada

Integrasi sumber dan sink

Batch

Streaming

Penyaringan data yang efisien

Tidak ada

Perubahan data

Evolusi skema

Tidak ada

Evolusi partisi

Tidak ada

Pembaruan copy-on-write

Tidak ada

Pembaruan merge-on-read

Baca

Tulis

Pemadatan

x

x

Mesin komputasi

Apache Spark

Baca

Tulis

Apache Hive

Baca

Tulis

Apache Flink

Baca

Tulis

PrestoDB atau Trino

Baca

Tulis

Bahasa pemrograman

Java

Tidak ada

Python

Tidak ada

Fitur lanjutan

Koneksi asli ke Alibaba Cloud OSS

Tidak ada

x

Koneksi asli ke Alibaba Cloud Data Lake Formation (DLF)

Tidak ada

x

Percepatan akses data berdasarkan caching data di disk lokal

Tidak ada

x

Penggabungan otomatis file kecil

Tidak ada

x

null

Informasi dalam tabel ini disusun berdasarkan analisis objektif status Apache Iceberg dan Alibaba Cloud EMR Iceberg pada akhir September 2021. Informasi ini dapat berubah sesuai dengan pembaruan Apache Iceberg dan EMR Iceberg.

Skenario

Iceberg merupakan salah satu komponen inti dari layanan danau data serbaguna. Tabel berikut menjelaskan skenario penggunaan Iceberg.

Skenario

Deskripsi

Menulis dan membaca data secara real-time

Data upstream diambil ke danau data berbasis Iceberg secara real-time untuk menjalankan kueri. Anda dapat menjalankan pekerjaan streaming Flink atau Spark untuk menulis data log ke tabel Iceberg secara real-time. Kemudian, Anda dapat menggunakan mesin komputasi seperti Hive, Spark, Flink, atau Presto untuk membaca data secara real-time. Untuk informasi lebih lanjut, Konektor Apache Iceberg, Jalankan pekerjaan streaming Spark untuk menulis data ke tabel Iceberg, Gunakan Spark untuk membaca data, dan Konektor Apache Iceberg. Iceberg mendukung transaksi ACID, yang mengisolasi operasi penulisan data dari operasi pembacaan data untuk menghindari data kotor.

Hapus atau perbarui data

Sebagian besar gudang data tidak mendukung penghapusan atau pembaruan data tingkat baris. Dalam banyak kasus, Anda dapat menjalankan pekerjaan offline untuk membaca semua data dari tabel sumber, mengubah data tersebut, dan kemudian menulis data yang telah diubah kembali ke tabel sumber. Jika Iceberg digunakan, perubahan data dapat dilakukan pada file daripada tabel. Ruang lingkup operasi perubahan menjadi lebih sempit. Dengan cara ini, Anda dapat memperbarui atau menghapus data bisnis Anda dengan melakukan operasi perubahan berdasarkan ruang lingkup yang lebih kecil.

Dalam danau data berbasis Iceberg, Anda dapat menjalankan perintah yang mirip dengan DELETE FROM test_table WHERE id > 10 untuk mengubah data dalam tabel.

Kontrol kualitas data

Anda dapat menggunakan skema Iceberg untuk memeriksa dan menghapus data abnormal dari data yang sedang ditulis atau memproses lebih lanjut data abnormal tersebut.

Ubah skema tabel

Anda dapat menggunakan pernyataan DDL yang didukung oleh Spark SQL untuk mengubah skema tabel Iceberg.

Saat Anda mengubah skema tabel Iceberg, Anda tidak perlu mengekspor semua data historis dalam tabel berdasarkan skema baru. Oleh karena itu, kecepatan mengubah skema sangat cepat. Iceberg mendukung transaksi ACID, yang mencegah perubahan skema memengaruhi operasi pembacaan data. Dengan cara ini, data yang Anda baca dan tulis tetap konsisten.

Pembelajaran mesin real-time

Dalam skenario pembelajaran mesin, waktu yang lama mungkin diperlukan untuk memproses data, seperti pembersihan, konversi, dan karakterisasi data. Anda mungkin juga perlu memproses data historis dan data real-time. Iceberg menyederhanakan alur kerja ini. Iceberg menyediakan aliran real-time yang lengkap dan andal untuk membersihkan, mengonversi, dan mengkarakterisasi data. Anda tidak perlu memproses data historis dan data real-time secara terpisah. Iceberg juga mendukung SDK asli untuk Python, yang dikembangkan untuk memenuhi kebutuhan pengembang yang menggunakan algoritma pembelajaran mesin.