Mengimpor tabel Delta Lake ke Lakehouse tanpa batas menggunakan builder tugas Dataflow

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:

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

    Aktifkan API

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

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

  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, 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:

  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 cetak biru Delta Lake to Lakehouse yang dimuat.

  4. Di bagian Sumber:

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

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

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

    4. Klik Done.

  5. Di bagian Sink:

    1. Opsional: Tinjau panel sink tabel Lakehouse WriteToIceberg. Informasi di panel ini, seperti tabel Lakehouse, nama katalog, dan lokasi gudang, biasanya sudah terisi otomatis.

    2. Klik Done.

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

  1. Di daftar tugas Dataflow, periksa apakah status tugas adalah Succeeded.

    Buka Tugas

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

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

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

  1. Aktifkan properti delta.enableChangeDataFeed di tabel Delta Lake input.
  2. Lakukan migrasi tabel awal ke ID atau stempel waktu commit 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 beban kerja Anda.

Untuk mengetahui informasi selengkapnya, lihat Memigrasikan data change data capture (CDC) Delta Lake ke Lakehouse menggunakan Dataflow.

Langkah berikutnya