Membuat dan membuat kueri tabel Iceberg di Lakehouse menggunakan Google Cloud konsol
Dalam panduan memulai ini, Anda akan menggunakan Google Cloud konsol untuk mempelajari cara Lakehouse tanpa batas memungkinkan Anda mengelola dan membagikan tabel Apache Iceberg di seluruh Google Cloud dan mesin open source dengan menyimpan metadata tabel, termasuk skema, snapshot, dan lokasi penyimpanan, dalam katalog runtime Lakehouse.
Untuk menyelesaikan panduan memulai ini, Anda akan melakukan langkah-langkah berikut di konsolGoogle Cloud :
- Buat bucket Cloud Storage: Buat bucket di Cloud Storage untuk menyimpan file data dan metadata tabel Iceberg Anda.
- Buat katalog: Buat katalog multi-bucket di katalog runtime Lakehouse yang didukung oleh bucket Anda dengan pengaktifan penyediaan kredensial.
- Buat namespace dan tabel Iceberg: Gunakan halaman Lakehouse di konsol Google Cloud untuk membuat namespace dan tabel Iceberg dengan bahasa pengolahan data (DML) BigQuery diaktifkan.
- Ubah data dan kueri tabel di BigQuery: Gunakan pernyataan DML BigQuery (
INSERT,UPDATE, danDELETE) untuk mengubah baris dalam tabel Iceberg dan kueri hasilnya menggunakan sintaksis P.C.N.T (Project.Catalog.Namespace.Table) 4 bagian, tanpa perlu ETL atau pendaftaran tabel manual.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: BigLake Admin (
roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: BigLake Admin (
roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
Membuat bucket Cloud Storage
Buat bucket Cloud Storage di konsol Google Cloud untuk menyimpan file data dan metadata tabel Iceberg Anda:
Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
Klik Create.
Di bagian Get started, masukkan nama bucket yang unik secara global (misalnya,
lakehouse-quickstart-UNIQUE_IDatauPROJECT_ID-lakehouse), lalu klik Continue.Di bagian Choose where to store your data, biarkan Location type disetel ke Multi-region (us (multiple regions in United States)), lalu klik Create.
Jika dialog Public access will be prevented muncul, klik Confirm.
Membuat katalog di katalog runtime Lakehouse
Buat katalog multi-bucket di katalog runtime Lakehouse untuk tabel Apache Iceberg Anda. Katalog multi-bucket memungkinkan Anda memberi nama katalog secara terpisah dari nama bucket dan mengaitkan beberapa bucket Cloud Storage dengan satu katalog. Untuk mengamankan akses ke bucket ini, aktifkan mode pemberian kredensial sementara agar katalog dapat secara otomatis mengeluarkan kredensial penyimpanan sementara langsung ke mesin klien Anda.
Di konsol Google Cloud , buka halaman Lakehouse.
Klik Buat katalog, lalu pilih Katalog runtime Lakehouse.
Di bagian Detail katalog, konfigurasi setelan berikut:
- Jenis katalog: Pilih Iceberg Rest Catalog.
- Opsi bucket katalog lakehouse: Pilih Katalog beberapa bucket.
- Jalur Cloud Storage Katalog Default: Klik Browse, pilih bucket yang Anda buat, lalu klik Select.
- ID Katalog: Masukkan
quickstart_catalog. - Lokasi utama: Pilih Multi-region, lalu pilih US (multiple regions in United States).
Klik Lanjutkan, lalu di bagian Jalur data, klik Lanjutkan.
Di bagian Metode autentikasi, pilih Mode penyediaan kredensial.
Dengan penyediaan kredensial, katalog menerbitkan token penyimpanan sementara dan tercakup tabel yang aman ke mesin klien dan BigQuery, sehingga mesin eksternal tidak memerlukan izin IAM langsung di bucket Anda.
Klik Create.
Katalog Anda telah dibuat dan halaman Detail katalog akan terbuka.
Di bagian Authentication method, klik Set bucket permissions, lalu di dialog, klik Confirm.
Langkah ini memberikan izin yang diperlukan ke akun layanan katalog di bucket Cloud Storage Anda untuk menjual kredensial sementara.
Membuat namespace dan tabel Iceberg
Setelah memiliki katalog, gunakan halaman Lakehouse di konsolGoogle Cloud untuk membuat namespace dan tabel Iceberg.
Buat namespace
Di halaman Catalog Details untuk
quickstart_catalog, klik Create namespace.Di kolom Namespace name, masukkan
quickstart_namespace.Biarkan Location disetel ke jalur Cloud Storage default yang diisi secara otomatis di kolom.
Klik Create.
Membuat tabel Iceberg
Di halaman Catalog Details, klik
quickstart_namespace.Halaman Namespace Details akan terbuka.
Klik Buat Tabel.
Di panel Create Table, konfigurasi setelan berikut:
- Table format: Pastikan Iceberg dipilih.
- Nama tabel: Masukkan
quickstart_table. - Location: Biarkan jalur Cloud Storage default.
Di bagian Schema, klik Add field dua kali untuk menambahkan dua kolom ke tabel:
- Untuk kolom pertama, masukkan
iddi kolom Nama kolom, dan pilih INTEGER dari menu Jenis. - Untuk kolom kedua, masukkan
namedi kolom Field name, dan pilih STRING dari menu Type.
- Untuk kolom pertama, masukkan
Di bagian Properties, temukan properti
gcp.biglake.bigquery-dml.enabledyang telah ditentukan sebelumnya dan ubah Value-nya darifalsemenjaditrue. Biarkangcp.biglake.table-management.enableddisetel kefalse.Dengan menyetel
gcp.biglake.bigquery-dml.enabledketrue, Anda dapat mengubah data di tabel Iceberg menggunakan pernyataan DML BigQuery sepertiINSERT,UPDATE,DELETE, danMERGE. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi opsi tabel.Klik Create.
Tabel Iceberg baru Anda (
quickstart_table) akan muncul di halaman Detail namespace, dan katalog runtime Lakehouse akan menulis file metadata Iceberg awal ke bucket Cloud Storage Anda.
Ubah data dan kueri tabel di BigQuery
Dengan quickstart_table dibuat dan DML BigQuery diaktifkan, Anda dapat
menyisipkan, memperbarui, menghapus, dan membuat kueri baris secara langsung di BigQuery menggunakan
sintaksis P.C.N.T (Project.Catalog.Namespace.Table) 4 bagian. Di setiap pernyataan, ganti PROJECT_ID dengan
Google Cloud project ID Anda:
Di konsol Google Cloud , buka halaman BigQuery.
Di editor kueri, klik Kueri SQL.
Masukkan tiga baris data sampel:
INSERT INTO `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` (id, name) VALUES (1, 'one'), (2, 'two'), (3, 'three');
Klik Run. Setelah pernyataan
INSERTselesai, BigQuery akan menulis file data Parquet ke bucket Cloud Storage Anda dan melakukan snapshot Iceberg baru ke katalog runtime Lakehouse.Ubah baris dalam tabel:
UPDATE `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` SET name = 'updated' WHERE id = 1;
Klik Run.
Menghapus baris dari tabel:
DELETE FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` WHERE id = 3;
Klik Run.
Buat kueri tabel untuk memverifikasi perubahan Anda:
SELECT * FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` ORDER BY id;
Klik Run. Panel Query results menampilkan dua baris yang tersisa, termasuk nilai yang diperbarui untuk
id = 1:+----+---------+ | id | name | +----+---------+ | 1 | updated | | 2 | two | +----+---------+
Karena katalog runtime Lakehouse mengelola metadata Iceberg dan penyediaan kredensial diaktifkan, Anda juga dapat membaca atau menulis ke quickstart_table menggunakan mesin open source yang kompatibel dengan Iceberg, seperti Apache Spark, Trino, atau Apache Flink, tanpa memberikan akses IAM langsung ke bucket Anda.
Pembersihan
Agar tidak menimbulkan biaya yang tidak perlu pada akun Google Cloud Anda, hapus resource yang Anda buat dalam panduan memulai ini. Menghapus tabel, namespace, dan katalog akan menghapus pendaftaran metadata dari katalog runtime Lakehouse, sedangkan menghapus bucket akan menghapus file data Parquet dan metadata Iceberg yang mendasarinya yang disimpan di Cloud Storage:
Di konsol Google Cloud , buka halaman Lakehouse.
Hapus tabel dari katalog Anda:
- Klik
quickstart_catalog, lalu klikquickstart_namespace. - Di tabel Namespace details, di baris untuk
quickstart_table, klik More > Delete. - Masukkan
DELETEuntuk mengonfirmasi, lalu klik Hapus.
- Klik
Hapus namespace dari katalog Anda:
- Kembali ke halaman Detail katalog untuk
quickstart_catalog. - Di baris untuk
quickstart_namespace, klik Tindakan namespace lainnya > Hapus. - Masukkan
DELETEuntuk mengonfirmasi, lalu klik Hapus.
- Kembali ke halaman Detail katalog untuk
Menghapus katalog Anda:
- Kembali ke halaman Lakehouse.
- Di baris untuk
quickstart_catalog, klik Tindakan katalog lainnya > Hapus. - Masukkan
DELETEuntuk mengonfirmasi, lalu klik Hapus.
Hapus bucket Cloud Storage dan semua isinya:
Buka halaman Bucket Cloud Storage.
Centang kotak di samping bucket yang Anda buat untuk panduan memulai ini, lalu klik Delete.
Masukkan
DELETEuntuk mengonfirmasi, lalu klik Hapus.
Langkah berikutnya
- Coba Panduan memulai Membuat dan membuat kueri tabel Iceberg menggunakan Google Cloud CLI.
- Pelajari cara mengubah data dengan pernyataan DML BigQuery dan mengonfigurasi opsi tabel.
- Coba codelab Menyiapkan akses data lintas cloud untuk mengkueri data di Amazon Web Services (AWS), AlloyDB untuk PostgreSQL, dan Cloud Storage tanpa ETL.
- Pelajari katalog multi-bucket dan endpoint katalog REST Apache Iceberg.
- Pelajari cara mengelola katalog di katalog runtime Lakehouse.
- Pelajari tabel Apache Iceberg yang dikelola oleh Lakehouse.