Endpoint katalog Apache Iceberg kustom untuk BigQuery menghubungkan mesin kueri open source seperti Apache Spark dan Apache Flink ke katalog runtime Lakehouse. Dengan mengintegrasikan plugin katalog kustom (BigQueryMetastoreCatalog), endpoint ini memungkinkan Anda mengelola dan mengkueri metadata tabel Apache Iceberg langsung melalui BigQuery sambil menyimpan file data dan metadata di Cloud Storage.
Cara kerja katalog Iceberg kustom
Katalog Apache Iceberg kustom menggunakan implementasi katalog kustom (org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog) yang disediakan dalam library JAR. Saat workload komputasi Anda berjalan di Managed Service untuk Apache Spark, mesin
akan menggunakan plugin ini untuk berinteraksi dengan BigQuery sebagai penyimpanan metadata
untuk tabel Apache Iceberg Anda.
Alur kerja beroperasi sebagai berikut:
- Implementasi katalog: Mesin kueri memuat JAR katalog BigQuery Metastore dan mengonfigurasi properti katalog sesi Spark untuk menggunakan
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog. - Pengelolaan metadata: Saat Anda membuat atau mengubah tabel menggunakan Spark SQL atau DataFrame API, plugin akan menyimpan definisi set data dan tabel di BigQuery.
- Penyimpanan data: File metadata Apache Iceberg (
metadata.json, daftar manifes, manifes) dan file data (seperti file Parquet) disimpan langsung di jalur warehouse Cloud Storage yang Anda tentukan. - Akses lintas mesin: Karena metadata terdaftar di BigQuery, Anda dapat mengkueri tabel baik dari mesin open source seperti Spark maupun langsung dari BigQuery.
Hierarki resource
Katalog Apache Iceberg kustom untuk endpoint BigQuery mengatur metadata ke dalam hierarki berikut:
| Resource | Deskripsi |
|---|---|
| Project | Project Google Cloud yang berisi resource BigQuery dan penyimpanan warehouse Cloud Storage Anda. |
| Namespace (Set Data) | Set data BigQuery yang dikonfigurasi untuk bertindak sebagai namespace Iceberg, yang menentukan lokasi Cloud Storage default untuk tabel yang dibuat di dalamnya. |
| Tabel | Tabel Apache Iceberg yang skema, snapshot, dan pointer metadatanya dilacak di BigQuery dan file datanya berada di Cloud Storage. |
Membandingkan katalog Iceberg kustom dan katalog REST Iceberg
Tabel berikut merangkum perbedaan utama antara katalog Apache Iceberg kustom untuk endpoint BigQuery dan endpoint katalog REST Apache Iceberg:
| Fitur | Katalog Iceberg kustom untuk BigQuery | Endpoint katalog REST Apache Iceberg (Direkomendasikan) |
|---|---|---|
| Standar Catalog API | Plugin kustom (BigQueryMetastoreCatalog) |
API Katalog REST Apache Iceberg standar terbuka |
| Hierarki katalog | Project > Set Data BigQuery > Tabel | Project > Catalog > Namespace > Table (P.C.N.T) |
| Konfigurasi penyimpanan | Jalur Cloud Storage yang ditentukan per set data atau tabel | Katalog multi-bucket atau satu bucket |
| Penyediaan kredensial | Tidak didukung (menggunakan kredensial IAM langsung) | Didukung (menjual token akses penyimpanan berumur pendek) |
| Disaster recovery | Tidak didukung | Didukung (replikasi dan failover lintas-region) |
| Direkomendasikan untuk | Deployment dan alur kerja yang ada | Workload baru dan integrasi klien REST Iceberg standar |
Langkah berikutnya
- Konfigurasikan katalog runtime menggunakan Apache Iceberg 1.10 dan yang lebih baru.
- Konfigurasikan katalog runtime menggunakan Apache Iceberg 1.9 dan yang lebih rendah.
- Membuat dan mengelola resource katalog.
- Gunakan katalog runtime dengan tabel BigQuery.
- Gunakan prosedur tersimpan Apache Spark.
- Menyesuaikan fitur katalog tambahan.