Membuat tabel Apache Iceberg akan mendaftarkan metadata tabel dalam namespace di katalog runtime Lakehouse.
Format tabel yang didukung
Hanya tabel Apache Iceberg V2 yang didukung; tabel Iceberg V1 tidak didukung. Jika memiliki tabel Iceberg V1 yang sudah ada, Anda harus mengupgradenya ke V2 (misalnya, dengan menjalankan ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); atau menggunakan operasi mesin yang serupa) sebelum mendaftarkan atau menggunakannya.
Jika Anda tidak menentukan lokasi penyimpanan eksplisit di tingkat namespace atau tabel selama pembuatan tabel, sistem akan otomatis membuat metadata dan direktori data tabel di lokasi default katalog (berasal dari bucket Cloud Storage dasar katalog) dengan menambahkan ID namespace dan tabel.
Selain integrasi mesin kueri, katalog runtime Lakehouse mengimplementasikan spesifikasi Iceberg REST Catalog API open source (POST /v1/{prefix}/namespaces/{namespace}/tables), sehingga memungkinkan klien REST yang kompatibel membuat tabel secara langsung.
Sebelum memulai
Lihat ringkasan tabel untuk memahami berbagai jenis tabel dan implikasi penggunaannya.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
-
Mengaktifkan 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.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat tabel, minta administrator untuk memberi Anda peran IAM berikut di project dan bucket penyimpanan Anda:
-
Semua:
- Admin BigLake (
roles/biglake.admin) - project Anda - Storage Admin (
roles/storage.admin) - target bucket Cloud Storage
- Admin BigLake (
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.
Membuat tabel
Buat tabel Iceberg.
Konsol
Di konsol Google Cloud , buka Lakehouse.
Pilih katalog yang ada atau buat katalog jika Anda belum memilikinya.
Di panel menu, klik +Buat Tabel.
Untuk Table format, pilih Iceberg.
Untuk Table name, masukkan nama tabel yang unik.
Klik Create.
Tabel Anda akan muncul di halaman Namespace details.
Spark
spark.sql("CREATE TABLE NAMESPACE_NAME.TABLE_NAME (id int, data string) USING ICEBERG;")
spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()
Ganti nilai berikut:
NAMESPACE_NAME: nama namespace AndaTABLE_NAME: nama untuk tabel Anda
Trino
CREATE TABLE SCHEMA_NAME.TABLE_NAME (id int, data varchar);
DESCRIBE SCHEMA_NAME.TABLE_NAME;
Ganti nilai berikut:
SCHEMA_NAME: nama skema AndaTABLE_NAME: nama untuk tabel Anda
Jika Anda menggunakan federasi katalog BigQuery dengan Trino, Anda tidak dapat menentukan lokasi untuk tabel. Lokasi default skema selalu digunakan.
REST
Untuk membuat tabel Iceberg menggunakan REST API, buat permintaan POST ke endpoint
CreateIcebergTable:
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables
Isi permintaan harus berisi payload JSON CreateTableRequest Iceberg yang valid yang menentukan skema tabel, spesifikasi partisi, dan properti awal.
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID Anda.CATALOG_ID: ID katalog runtime Lakehouse Anda.NAMESPACE_NAME: nama namespace katalog Anda.
Langkah berikutnya
- Pelajari cara mencantumkan tabel.
- Pelajari cara memasukkan data ke dalam tabel.