Menjalankan kueri gabungan dengan Data Boost

Halaman ini menjelaskan cara menggunakan Spanner Data Boost saat menjalankan kueri gabungan dari BigQuery ke Spanner. Dengan Data Boost, kueri gabungan berjalan dengan dampak nyaris nol terhadap workload yang ada di instance Spanner yang disediakan.

Penggabungan Spanner memungkinkan BigQuery membuat kueri data yang ada di Spanner secara real time, tanpa menyalin atau memindahkan data.

Untuk mempelajari kueri gabungan Spanner, lihat Kueri gabungan Spanner.

Untuk mempelajari Data Boost, lihat ringkasan Data Boost.

Sebelum memulai

Selesaikan tugas berikut sebelum mencoba menjalankan kueri gabungan dengan Data Boost.

Mengaktifkan API koneksi BigQuery

API koneksi BigQuery memungkinkan Anda mengelola koneksi BigQuery ke sumber data eksternal.

  • Aktifkan BigQuery connection API.

    Mengaktifkan API

Untuk mengetahui informasi selengkapnya, lihat API koneksi BigQuery.

Memberikan izin IAM untuk Data Boost ke akun utama

Kepala sekolah memerlukan izin Identity and Access Management (IAM) spanner.instances.get dan spanner.databases.useDataBoost untuk menjalankan kueri dan ekspor dengan Data Boost.

Sebaiknya Anda membuat peran IAM kustom berdasarkan Spanner Database Reader (roles/spanner.databaseReader) serta menambahkan spanner.instances.get dan spanner.databases.useDataBoost ke peran tersebut.

Untuk mengetahui informasi selengkapnya, lihat Peran yang telah ditetapkan.

Membuat koneksi BigQuery untuk Spanner dengan Data Boost

Koneksi BigQuery memungkinkan Anda mengkueri data yang disimpan di luar BigQuery. Untuk membuat koneksi antara BigQuery dan Spanner, Anda harus membuat koneksi data eksternal. Selanjutnya, Anda dapat menjalankan kueri yang menggabungkan data BigQuery dengan data Spanner.

Untuk membuat koneksi data eksternal ke Spanner yang menggunakan Data Boost, pilih salah satu opsi berikut:

Konsol

  1. Buka Membuat koneksi Spanner dalam dokumentasi BigQuery dan ikuti petunjuk Konsol.

  2. Di panel External data source, centang kotak Read data in paralel dan Use Spanner Data Boost.

bq

  1. Buka Membuat koneksi Spanner dalam dokumentasi BigQuery dan ikuti petunjuk bq.

  2. Tetapkan properti koneksi berikut ke true:

  • useParallelism
  • useDataBoost

Contoh berikut menggunakan perintah bq mk untuk membuat koneksi baru bernama my_connection dengan dua properti wajib 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

Menjalankan kueri gabungan

Untuk menjalankan kueri gabungan dengan Data Boost, gunakan koneksi BigQuery yang menentukan penggunaan Data Boost. Untuk mengetahui informasi selengkapnya, lihat Membuat koneksi BigQuery untuk Spanner dengan Data Boost.

Anda dapat memulai dari halaman Spanner di Google Cloud Console, atau dari BigQuery.

Memulai dari halaman Spanner di konsol

  1. Buka halaman Instance Spanner di Konsol Google Cloud.

    Buka halaman Instances

    Konsol akan menampilkan daftar instance Spanner.

  2. Pilih instance Spanner, lalu pilih database.

  3. Di halaman Database overview, di menu navigasi, klik Spanner Studio.

  4. Klik tab View in BiqQuery.

  5. Pada dialog Lihat di BigQuery, masukkan ID koneksi.

    Tindakan ini akan membuat koneksi baru. Error akan terjadi jika ID sudah ada.

  6. Isi sisa dialog, lalu pilih kotak centang Read data in paralel dan Use Spanner Data Boost.

  7. Klik Lihat di BigQuery.

    BigQuery Studio akan terbuka. Masukkan dan jalankan kueri gabungan Anda di sana.

    Contoh berikut membuat kueri gabungan ke database Spanner bernama orders dan menggabungkan hasilnya dengan tabel BigQuery bernama mydataset.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 dari BigQuery

  • Masukkan URL berikut di browser Anda:

    https://console.cloud.google.com/bigquery

    BigQuery akan terbuka di project yang terakhir Anda akses dan menampilkan BigQuery Studio. Jalankan kueri gabungan Anda di sini.

Langkah selanjutnya