Halaman ini menjelaskan cara menggunakan Spanner Data Boost saat Anda menjalankan kueri gabungan dari BigQuery ke database Spanner. Dengan Data Boost, kueri gabungan berjalan dengan dampak minimal terhadap workload yang ada di instance Spanner yang disediakan. Kueri Data Boost dari BigQuery ke database Spanner dapat menggabungkan data BigQuery dengan data Spanner.
Gabungan Spanner memungkinkan BigQuery membuat kueri data yang ada di Spanner secara real time, tanpa menyalin atau memindahkan data. Untuk mempelajari kueri gabungan Spanner lebih lanjut, lihat Kueri gabungan Spanner. Untuk mempelajari Data Boost, lihat Ringkasan Data Boost.
Sebelum memulai
Sebelum dapat menjalankan kueri gabungan dengan Data Boost, Anda perlu menyelesaikan tugas berikut:
Membuat instance dan database Spanner
Jika Anda tidak memiliki instance dan database Spanner, ikuti langkah-langkah di Membuat dan mengkueri database menggunakan konsol Google Cloud untuk membuatnya.
Mengaktifkan BigQuery connection API
BigQuery connection API memungkinkan Anda mengelola koneksi BigQuery ke sumber data eksternal seperti database Spanner.
-
Aktifkan BigQuery connection API.
Untuk mengetahui informasi selengkapnya, lihat API koneksi BigQuery dalam dokumentasi BigQuery.
Memberikan izin IAM untuk Data Boost kepada akun utama
Akun utama harus diberi izin berikut untuk menjalankan kueri dan ekspor dengan Data Boost:
spanner.instances.get
- memungkinkan Anda mendapatkan konfigurasi instance.spanner.databases.useDataBoost
- memungkinkan Anda menggunakan resource komputasi Spanner Data Boost untuk memproses kueri yang dipartisi
Untuk mengetahui informasi selengkapnya tentang izin Spanner, lihat Izin Identity and Access Management (IAM).
Untuk memberikan izin yang diperlukan ini, sebaiknya buat peran kustom berdasarkan peran Spanner Database Reader (roles/spanner.databaseReader
) yang menyertakan spanner.instances.get
dan spanner.databases.useDataBoost
.
Kemudian, Anda dapat menambahkan peran tersebut ke akun utama yang perlu dapat menjalankan
kueri dan ekspor dengan Data Boost. Untuk mempelajari cara membuat
peran IAM kustom, lihat
Membuat peran kustom. Untuk mempelajari peran bawaan di Spanner lebih lanjut, lihat
Peran bawaan.
Menjalankan kueri Data Boost gabungan
Untuk menjalankan kueri Data Boost dari BigQuery ke sumber eksternal, Anda memerlukan koneksi BigQuery ke sumber eksternal dan ID koneksi. Saat Anda menjalankan kueri Spanner gabungan dengan Data Boost, sumber eksternal adalah database Spanner. Setelah Anda membuat ID koneksi, ID tersebut akan digunakan oleh BigQuery untuk menjalankan kueri Data Boost database Spanner.
Gunakan salah satu opsi berikut untuk membuat ID koneksi BigQuery, lalu gunakan ID koneksi tersebut untuk menjalankan kueri Data Boost dari BigQuery:
Mulai di Spanner - Buat ID koneksi eksternal BigQuery di konsol Spanner. Setelah ID koneksi dibuat di konsol Spanner, Anda akan dialihkan ke konsol BigQuery untuk menjalankan kueri Data Boost gabungan ke database Spanner.
Mulai di BigQuery - Buat ID koneksi eksternal Data Boost di konsol BigQuery atau menggunakan alat command line
bq
. Setelah membuat ID koneksi, Anda tetap berada di konsol BigQuery untuk menjalankan kueri Data Boost gabungan ke database Spanner.
Mulai di Spanner untuk menjalankan kueri Data Boost
Untuk menjalankan kueri Data Boost gabungan yang dimulai di Spanner Studio, lakukan tindakan berikut:
Buka halaman Instance Spanner di konsol Google Cloud.
Konsol menampilkan daftar instance Spanner Anda.
Pilih instance Spanner, lalu pilih database.
Di halaman Ringkasan database, di menu navigasi, klik Spanner Studio.
Klik Lihat di BigQuery.
Di dialog Lihat di BigQuery, masukkan ID koneksi.
ID koneksi digunakan untuk membuat koneksi eksternal BigQuery baru ke database Spanner Anda. Anda mereferensikan koneksi eksternal menggunakan pola berikut:
PROJECT-ID.LOCATION.CONNECTION-ID
Error akan terjadi jika ID sudah ada.
Isi bagian dialog lainnya dan lakukan hal berikut:
- Pilih Read data in parallel.
- Pilih Gunakan Spanner Data Boost.
Klik Lihat di BigQuery.
BigQuery Studio akan terbuka dengan kueri berikut:
SELECT * FROM EXTERNAL_QUERY("PROJECT-ID.LOCATION.CONNECTION-ID", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
Anda dapat menggantinya dengan kueri gabungan. Misalnya, Anda dapat membuat kueri yang mirip dengan contoh berikut. Contoh ini membuat kueri gabungan dari tabel bernama
orders
di database Spanner dan menggabungkan hasilnya dengan tabel BigQuery bernamamydataset.customers
.SELECT c.customer_id, c.name, rq.first_order_date FROM mydataset.customers AS c LEFT OUTER JOIN EXTERNAL_QUERY( 'my-project.us.example-db', '''SELECT customer_id, MIN(order_date) AS first_order_date FROM orders GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id GROUP BY c.customer_id, c.name, rq.first_order_date;
Mulai di BigQuery untuk menjalankan kueri Data Boost
Untuk membuat koneksi data eksternal dari BigQuery ke database Spanner dan menggunakan koneksi tersebut untuk menjalankan kueri Data Boost gabungan dari BigQuery, pilih salah satu opsi berikut:
Konsol
Buka Membuat koneksi Spanner di dokumentasi BigQuery dan ikuti petunjuk di tab Konsol.
Di panel External data source, lakukan hal berikut:
- Pilih Read data in parallel.
- Pilih Gunakan Spanner Data Boost.
bq
Buka Membuat koneksi Spanner di dokumentasi BigQuery dan ikuti petunjuk di tab bq*.
Tetapkan properti koneksi berikut ke
true
:useParallelism
useDataBoost
Contoh berikut menggunakan perintah bq mk
untuk membuat koneksi baru bernama my_connection
dengan dua properti yang diperlukan untuk Data Boost:
bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection
Langkah selanjutnya
- Pelajari Data Boost di Ringkasan Data Boost
- Menggunakan Data Boost di aplikasi Anda
- Memantau penggunaan Data Boost
- Memantau dan mengelola penggunaan kuota Data Boost