Membuat kueri tabel akan membaca data dari file Cloud Storage yang mendasarinya menggunakan metadata yang dikelola oleh katalog runtime Lakehouse.
Anda dapat menjalankan kueri dari mesin open source seperti Spark dan Trino, atau langsung dari BigQuery menggunakan sintaksis nama tabel empat bagian (sintaksis P.C.N.T).
Sebelum memulai
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
-
Aktifkan BigLake API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran. - Siapkan katalog runtime Lakehouse katalog dengan endpoint katalog REST Apache Iceberg.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat kueri tabel, minta administrator Anda untuk memberi Anda peran IAM berikut di project dan bucket penyimpanan Anda:
-
Membaca data tabel dalam mode penjualan kredensial:
BigLake Viewer (
roles/biglake.viewer) - project -
Membaca data tabel dalam mode non-penjualan kredensial:
- BigLake Viewer (
roles/biglake.viewer) - project - Storage Object Viewer (
roles/storage.objectViewer) - bucket Cloud Storage
- BigLake Viewer (
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Kemampuan dan dukungan tabel
Saat menggunakan tabel di katalog runtime Lakehouse, sebaiknya pahami berbagai jenis tabel dan kemampuan keikutsertaannya. Untuk mempelajari lebih lanjut cara menggunakan tabel Apache Iceberg secara khusus, lihat Ringkasan tabel Apache Iceberg tables.
Tabel Iceberg yang didukung
Hanya tabel Apache Iceberg V2 (GA) dan V3 (Pratinjau) yang didukung. Tabel Iceberg V1 tidak didukung. Untuk mengupgrade tabel V1 yang ada, lihat Mengupgrade tabel Iceberg V1 ke V2.
Menggunakan opsi tabel (Pratinjau)
Anda dapat memilih untuk menggunakan kemampuan terkelola BigQuery, seperti BigQuery Data Manipulation Language (DML) dan pengelolaan tabel otomatis, dengan mengonfigurasi properti tabel tertentu. Fitur ini diaktifkan dengan cara yang berbeda, bergantung pada tempat tabel dibuat:
- Dari BigQuery: BigQuery DML dan pengelolaan tabel otomatis diaktifkan secara default.
- Dari mesin open source: Untuk ikut serta, Anda harus mengonfigurasi properti tabel secara eksplisit. Lihat Mengonfigurasi opsi tabel untuk mengetahui informasi selengkapnya.
Saat membuat kueri tabel dari BigQuery, Anda dapat mengakses tabel Iceberg standar serta tabel yang diaktifkan untuk kemampuan terkelola BigQuery. Lihat Mengonfigurasi opsi tabel options untuk mengetahui petunjuk mendetail.
Membuat kueri tabel
Pilih semua data dari tabel:
Spark
spark.sql("SELECT * FROM TABLE_NAME;").show()
Trino
SELECT * FROM TABLE_NAME;
BigQuery
Untuk membuat kueri tabel Apache Iceberg di
katalog runtime Lakehouse dari BigQuery, gunakan
nama tabel empat bagian dalam kueri Anda dengan format berikut: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.
SELECT * FROM `PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;
Ganti nilai berikut:
PROJECT_NAME: project yang memiliki katalog di katalog runtime Lakehouse.Google Cloud Project yang dipilih di konsol akan ditagih untuk kueri tersebut. Google Cloud Google CloudCATALOG_ID: ID katalog runtime Lakehouse yang ditentukan saat katalog dibuat. ID ini digunakan sebagai nama katalog dalam kueri BigQuery.ID ini juga merupakan nama bucket Cloud Storage Anda.
Misalnya, jika Anda membuat bucket untuk menyimpan katalog dan memberinya nama
iceberg-bucket, nama katalog dan nama bucket Anda adalahiceberg-bucket. ID ini akan digunakan nanti saat Anda membuat kueri katalog di BigQuery, menggunakan sintaksis P.C.N.T. Misalnya,my-project.catalog_id.quickstart_namespace.quickstart_table.NAMESPACE_OR_SCHEMA_NAME: namespace tabel jika menggunakan Spark atau nama skema tabel jika menggunakan Trino.TABLE_NAME: nama tabel Anda.
Membuat kueri menggunakan perjalanan waktu
Anda dapat membuat kueri data historis dari tabel Lakehouse Iceberg menggunakan perjalanan waktu. Anda dapat melakukan perjalanan waktu dari BigQuery menggunakan klausa FOR
SYSTEM_TIME AS OF, atau dari mesin open source seperti Spark menggunakan ID snapshot, stempel waktu, tag, atau cabang.
Membuat kueri berdasarkan stempel waktu
Untuk membuat kueri data berdasarkan stempel waktu tertentu:
Spark
SELECT * FROM NAMESPACE.TABLE_NAME TIMESTAMP AS OF '2026-02-26 01:21:00';
BigQuery
SELECT * FROM `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` FOR SYSTEM_TIME AS OF '2026-02-26 01:21:00';
Membuat kueri berdasarkan ID snapshot
Untuk membuat kueri data berdasarkan ID snapshot tertentu:
Spark
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 10963874102873;
Membuat kueri berdasarkan tag
Untuk membuat tag dan membuat kueri data berdasarkan tag tersebut:
Spark
-- Create tag 'historical-snapshot'
ALTER TABLE NAMESPACE.TABLE_NAME CREATE TAG 'historical-snapshot' AS OF VERSION 123456789012345;
-- Query by tag
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 'historical-snapshot';
Membuat kueri berdasarkan cabang
Untuk membuat cabang dan membuat kueri data berdasarkan cabang tersebut:
Spark
-- Create branch 'audit-branch'
ALTER TABLE NAMESPACE.TABLE_NAME CREATE BRANCH 'audit-branch' AS OF VERSION 123456789012345;
-- Query by branch
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 'audit-branch';
Langkah berikutnya
- Pelajari cara mengubah tabel.