Memigrasikan tabel Delta Lake ke Lakehouse untuk Apache Iceberg bisa jadi rumit dan mahal jika Anda harus menulis ulang atau memindahkan data dalam volume besar. Untuk membuat data Delta Lake Anda tersedia di Lakehouse tanpa memindahkan atau menulis ulang file pokok, Anda dapat menggunakan builder tugas Dataflow. Penyusun tugas menyediakan antarmuka low-code atau no-code untuk mengimpor tabel Delta Lake Cloud Storage Anda langsung ke Lakehouse.
Untuk tabel baru, Dataflow akan membuat skema secara otomatis. Untuk tabel yang ada, skema tidak diubah, sehingga skema tabel tujuan harus dipetakan dengan benar ke tabel Delta Lake sumber agar tugas berhasil.
Gunakan detail koneksi berikut untuk mengimpor data dari tabel Delta Lake yang disimpan di Cloud Storage.
Sebelum memulai
Untuk mengimpor data tabel Delta Lake, Anda memerlukan hal berikut:
Aktifkan Dataflow, BigQuery, dan Lakehouse API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Untuk mendapatkan izin yang diperlukan guna membuat resource, minta administrator Anda untuk memberi Anda peran Identity and Access Management (IAM) yang diperlukan di project Anda.
Tabel Delta Lake yang ada dan disimpan di bucket Cloud Storage. Direktori tabel harus berupa root tabel Delta Lake yang valid yang berisi file data Parquet dan direktori log transaksi
_delta_log/.Katalog, namespace, dan tabel Iceberg Lakehouse untuk mengimpor data.
Dukungan dan batasan
Mengimpor data tabel Delta Lake ke Lakehouse untuk Apache Iceberg menggunakan Dataflow memiliki batasan berikut:
- Anda harus menggunakan tugas pipeline batch untuk menggunakan fitur ini.
- Untuk tabel tujuan yang sudah ada, skema tidak diubah. Skema tabel tujuan harus dipetakan dengan benar ke skema tabel Delta Lake sumber.
- Data sumber harus berupa tabel Delta Lake yang valid dan disimpan di
Cloud Storage. Direktori root tabel harus berisi file data Parquet dan direktori log transaksi
_delta_log/(yang berisi file log JSON atau Parquet) seperti yang dibuat oleh Delta Lake. - Amazon S3 tidak didukung untuk sumber tabel Delta Lake.
Mengimpor tabel Delta Lake
Untuk mengimpor tabel Delta Lake ke Lakehouse untuk Apache Iceberg, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Lakehouse runtime catalog.
Pilih katalog, namespace, dan tabel tempat Anda ingin mengimpor data.
Di halaman Detail tabel, klik Impor tabel, lalu pilih Dari Delta Lake (Batch).
Halaman Job builder Dataflow akan terbuka dengan cetak biru Delta Lake to Lakehouse yang dimuat.
Di bagian Sumber:
Untuk meluaskan panel sumber tabel Delta Lake ReadFromDeltaLake, klik panah peluas .
Di kolom Table path, masukkan URI Cloud Storage dari direktori root tabel Delta Lake (direktori yang berisi file data dan direktori
_delta_log/). Contohnya,gs://BUCKET_NAME/tables/TABLE_NAME.Opsional: Di kolom Hadoop configuration properties, konfigurasi properti konfigurasi Hadoop tambahan yang diperlukan untuk membaca dari Cloud Storage. Contoh:
fs.gs.impl=com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem.Klik Done.
Di bagian Sink:
Opsional: Tinjau panel sink tabel Lakehouse WriteToIceberg. Informasi di panel ini, seperti tabel Lakehouse, nama katalog, dan lokasi gudang, biasanya sudah terisi otomatis.
Klik Done.
Di bagian Opsi Dataflow, klik Jalankan tugas.
Jika perlu menyesuaikan lebih lanjut pipeline Dataflow yang digunakan untuk mengimpor tabel Delta Lake, Anda dapat melakukannya menggunakan formulir builder tugas atau editor YAML.
Periksa output tugas
Setelah tugas selesai, Anda dapat memverifikasi bahwa data telah didaftarkan dengan tabel Iceberg dengan mengkuerinya di BigQuery.
Di daftar tugas Dataflow, periksa apakah status tugas adalah Berhasil.
Jika tugas gagal atau mengalami error, periksa log tugas atau log pekerja untuk mengetahui detailnya.
Di konsol Google Cloud , buka halaman Studio BigQuery.
Di editor kueri, masukkan kueri SQL untuk memeriksa tabel. Anda dapat menggunakan konvensi
PROJECT_ID.CATALOG.NAMESPACE.TABLE_NAMEuntuk membuat kueri:SELECT * FROM `PROJECT_ID`.`CATALOG`.`NAMESPACE`.`TABLE_NAME` LIMIT 10;Klik Run.
Tinjau Hasil kueri untuk memastikan data diproses dengan benar.
Langkah berikutnya
- Pelajari lebih lanjut cara Membuat tugas kustom dengan UI pembuat tugas.
- Pelajari lebih lanjut di Pengantar tabel Lakehouse untuk Apache Iceberg di BigQuery.