Mengonfigurasi tabel Apache Iceberg di BigQuery

Datastream memungkinkan Anda mereplikasi data dari sumber ke tabel Apache Iceberg di BigQuery. Tabel Apache Iceberg memberikan pengalaman terkelola sepenuhnya yang sama seperti tabel BigQuery standar, sekaligus menyimpan data dalam format Parquet di dalam bucket Cloud Storage Anda sendiri. Penyiapan ini memungkinkan Anda mengkueri dan menganalisis data menggunakan BigQuery sekaligus mempertahankan kontrol penuh atas penyimpanan yang mendasarinya.

Datastream hanya mendukung streaming ke tabel Apache Iceberg dalam mode tulis hanya-tambah. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi mode tulis.

Metadata tabel

Datastream menambahkan kolom STRUCT bernama datastream_metadata ke setiap tabel yang ditulis ke tujuan BigQuery.

Kolom datastream_metadata berisi kolom berikut:

  • UUID: Kolom ini memiliki jenis data STRING.
  • SOURCE_TIMESTAMP: Kolom ini memiliki jenis data INTEGER.
  • CHANGE_SEQUENCE_NUMBER: Kolom ini memiliki jenis data STRING. Ini adalah nomor urut internal yang digunakan oleh Datastream untuk setiap peristiwa perubahan.
  • CHANGE_TYPE: Kolom ini memiliki jenis data STRING. Kolom ini menunjukkan jenis peristiwa perubahan. Untuk mode tulis append-only, nilainya adalah INSERT.
  • SORT_KEYS: Kolom ini berisi array nilai STRING. Anda dapat menggunakan nilai untuk mengurutkan peristiwa perubahan.

Mengonfigurasi streaming ke tabel Apache Iceberg

Untuk menyiapkan aliran data guna menyerap data ke dalam tabel Apache Iceberg:

  1. Buat bucket Cloud Storage tempat Anda ingin menyimpan data.
  2. Membuat koneksi resource Cloud di BigQuery. Untuk mengetahui informasi tentang cara membuat jenis koneksi ini, lihat Membuat dan menyiapkan koneksi resource Cloud.
  3. Dapatkan ID akun layanan koneksi:

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. Berikan akses koneksi resource Cloud ke bucket Cloud Storage yang Anda buat. Untuk melakukannya, tambahkan izin IAM storage.admin ke akun layanan koneksi:

    gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \
    --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \
    --role=roles/storage.admin
    
  5. Membuat aliran data tabel Apache Iceberg.

    Untuk mengetahui informasi tentang cara membuat aliran data tabel Apache Iceberg menggunakan konsol Google Cloud , lihat Membuat aliran data.

    Untuk mengetahui informasi tentang cara membuat permintaan untuk menstreaming data ke tabel Apache Iceberg menggunakan REST, Google Cloud CLI, atau Terraform, lihat Mengelola streaming menggunakan API.

Langkah berikutnya