Memigrasikan tabel Delta Lake ke Lakehouse tanpa batas dapat menjadi rumit dan mahal jika Anda harus memindahkan data dalam volume besar. Builder tugas Dataflow menyediakan antarmuka low-code atau no-code untuk mengimpor tabel Delta Lake Cloud Storage Anda langsung ke Lakehouse. Data yang ada disalin dari tabel Delta Lake ke tabel Lakehouse target menggunakan tugas Dataflow yang menskalakan otomatis berdasarkan volume data Anda.
Untuk tabel baru, Dataflow akan otomatis membuat skema. 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.
Setelah mengimpor data ini, Anda memiliki opsi untuk mengaktifkan migrasi berkelanjutan.
Sebelum memulai
Untuk mengimpor data tabel Delta Lake, Anda memerlukan hal berikut:
Aktifkan Dataflow API, BigQuery API, dan Lakehouse API, jika ada yang belum diaktifkan.
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 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, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman katalog runtime Lakehouse.
Pilih katalog, namespace, dan tabel tempat Anda ingin mengimpor data.
Di halaman Table details, klik Import table, lalu pilih From 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 disalin ke tabel Lakehouse dengan mengkuerinya di BigQuery.
Di daftar tugas Dataflow, periksa apakah status tugas adalah Succeeded.
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.
Opsional. Mengaktifkan migrasi berkelanjutan
Untuk menyiapkan migrasi berkelanjutan end-to-end dari Delta Lake ke Lakehouse, selesaikan urutan operasi berikut:
- Aktifkan properti
delta.enableChangeDataFeeddi tabel Delta Lake input. - Lakukan migrasi tabel awal ke ID atau stempel waktu commit setelah
menetapkan properti
delta.enableChangeDataFeed. - Jalankan tugas CDC terjadwal untuk data berikutnya menggunakan frekuensi (ID commit atau rentang stempel waktu) yang dipilih untuk persyaratan beban kerja Anda.
Untuk mengetahui informasi selengkapnya, lihat Memigrasikan data change data capture (CDC) Delta Lake ke Lakehouse menggunakan Dataflow.
Langkah berikutnya
- Pelajari lebih lanjut di Pengantar tabel Lakehouse untuk Apache Iceberg di BigQuery.
- Pelajari lebih lanjut cara Memigrasikan data CDC Delta Lake ke Lakehouse secara berkala.
- Pelajari Penyerapan pengambilan data perubahan di Lakehouse.
- Pelajari lebih lanjut cara Membuat tugas kustom dengan UI pembuat tugas.