Dengan builder tugas Dataflow, Anda dapat mengimpor tabel Delta Lake Cloud Storage langsung ke Lakehouse tanpa batas melalui antarmuka low-code atau tanpa kode, sehingga mengurangi kompleksitas migrasi data berskala besar. Tugas batch Dataflow penskalaan otomatis menyalin data Anda ke tabel Apache Iceberg target di Lakehouse dan otomatis membuat skema untuk tabel baru, sedangkan tabel yang ada memerlukan skema yang cocok.
Setelah mengimpor data, Anda dapat mengaktifkan migrasi berkelanjutan secara opsional.
Sebelum memulai
Untuk mengimpor data tabel Delta Lake, Anda memerlukan hal berikut:
Aktifkan API Dataflow, BigQuery, dan Lakehouse, jika 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 Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Untuk mendapatkan izin yang diperlukan guna membuat resource, minta administrator untuk memberi Anda peran Identity and Access Management (IAM) yang diperlukan di project Anda.
Tabel Delta Lake yang sudah 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, skemanya tidak diubah. Skema tabel tujuan harus dipetakan dengan benar ke skema tabel Delta Lake sumber.
- Data sumber harus berupa tabel Delta Lake yang valid yang disimpan di Cloud Storage. Direktori utama tabel harus berisi file data Parquet dan direktori log transaksi
_delta_log/(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 blueprint Delta Lake to Lakehouse dimuat.
Di bagian Sumber:
Untuk meluaskan panel sumber Delta Lake table ReadFromDeltaLake, klik panah peluas .
Di kolom Table path, masukkan Cloud Storage URI 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, konfigurasikan 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 Lakehouse table WriteToIceberg. Informasi di panel ini, seperti tabel Lakehouse, nama katalog, dan lokasi warehouse, biasanya diisi otomatis.
Klik Done.
Di bagian Dataflow options, klik Run job.
Jika Anda perlu menyesuaikan lebih lanjut pipeline Dataflow yang digunakan untuk mengimpor tabel Delta Lake, Anda dapat melakukannya menggunakan formulir builder tugas atau editor YAML.
Memeriksa output tugas
Setelah tugas selesai, Anda dapat memverifikasi bahwa data telah disalin ke tabel Lakehouse dengan mengkuerinya di BigQuery.
Dalam daftar tugas Dataflow, pastikan status tugasnya adalah Succeeded.
Jika tugas gagal atau mengalami error, periksa log tugas atau log worker untuk mengetahui detailnya.
Di konsol Google Cloud , buka halaman BigQuery Studio.
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 Query results untuk memastikan data diproses dengan benar.
Opsional. Mengaktifkan migrasi berkelanjutan
Untuk menyiapkan migrasi berkelanjutan menyeluruh dari Delta Lake ke Lakehouse, selesaikan urutan operasi berikut:
- Aktifkan properti
delta.enableChangeDataFeedpada tabel Delta Lake input. - Lakukan migrasi tabel awal ke ID commit atau stempel waktu setelah
menetapkan properti
delta.enableChangeDataFeed. - Jalankan tugas CDC terjadwal untuk data berikutnya menggunakan frekuensi (ID commit atau rentang stempel waktu) yang dipilih untuk persyaratan workload 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.