Mengimpor tabel Delta Lake ke Lakehouse menggunakan Dataflow

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:

  1. 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.

    Aktifkan API

  2. Untuk mendapatkan izin yang diperlukan guna membuat resource, minta administrator untuk memberi Anda peran Identity and Access Management (IAM) yang diperlukan di project Anda.

  3. 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/.

  4. 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:

  1. Di konsol Google Cloud , buka halaman katalog runtime Lakehouse.

    Buka Katalog runtime Lakehouse

  2. Pilih katalog, namespace, dan tabel tempat Anda ingin mengimpor data.

  3. 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.

  4. Di bagian Sumber:

    1. Untuk meluaskan panel sumber Delta Lake table ReadFromDeltaLake, klik panah peluas .

    2. 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.

    3. 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.

    4. Klik Done.

  5. Di bagian Sink:

    1. Opsional: Tinjau panel sink Lakehouse table WriteToIceberg. Informasi di panel ini, seperti tabel Lakehouse, nama katalog, dan lokasi warehouse, biasanya diisi otomatis.

    2. Klik Done.

  6. 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.

  1. Dalam daftar tugas Dataflow, pastikan status tugasnya adalah Succeeded.

    Buka Tugas

  2. Jika tugas gagal atau mengalami error, periksa log tugas atau log worker untuk mengetahui detailnya.

  3. Di konsol Google Cloud , buka halaman BigQuery Studio.

    Buka BigQuery

  4. Di editor kueri, masukkan kueri SQL untuk memeriksa tabel. Anda dapat menggunakan konvensi PROJECT_ID.CATALOG.NAMESPACE.TABLE_NAME untuk membuat kueri:

    SELECT * FROM `PROJECT_ID`.`CATALOG`.`NAMESPACE`.`TABLE_NAME` LIMIT 10;
    
  5. Klik Run.

  6. 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:

  1. Aktifkan properti delta.enableChangeDataFeed pada tabel Delta Lake input.
  2. Lakukan migrasi tabel awal ke ID commit atau stempel waktu setelah menetapkan properti delta.enableChangeDataFeed.
  3. 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