Menjalankan kueri gabungan dengan Data Boost

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 harus 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 Google Cloud konsol untuk membuatnya.

Aktifkan BigQuery Connection API

BigQuery Connection API memungkinkan Anda mengelola koneksi BigQuery ke sumber data eksternal seperti database Spanner.

  • Enable the BigQuery connection API.

    Enable the API

Untuk mengetahui informasi selengkapnya, lihat BigQuery Connection API dalam dokumentasi BigQuery.

Memberikan izin IAM untuk Data Boost kepada akun utama

Principal harus diberi izin berikut untuk menjalankan kueri gabungan 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 gunakan peran IAM Cloud Spanner Database Reader With DataBoost (roles/spanner.databaseReaderWithDataBoost). Anda dapat menambahkan peran tersebut ke akun utama yang perlu menjalankan kueri gabungan dengan Data Boost. Untuk mempelajari lebih lanjut peran bawaan di Spanner, lihat Peran bawaan. Untuk mempelajari cara membuat peran IAM kustom, lihat Membuat peran kustom.

Menjalankan kueri gabungan Data Boost

Untuk menjalankan kueri Peningkatan Data dari BigQuery ke sumber eksternal, Anda memerlukan koneksi BigQuery ke sumber eksternal dan ID koneksi. Saat Anda menjalankan kueri gabungan Spanner dengan Data Boost, sumber eksternalnya adalah database Spanner. Setelah Anda membuat ID koneksi, ID tersebut akan digunakan oleh BigQuery untuk menjalankan kueri Spanner Data Boost dari database Spanner.

Gunakan salah satu opsi berikut untuk membuat ID koneksi BigQuery, lalu gunakan ID koneksi untuk menjalankan kueri Peningkatan Data dari BigQuery:

  1. 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 gabungan Data Boost ke database Spanner.

  2. Mulai di BigQuery - Buat ID koneksi eksternal Peningkatan Data 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 hal berikut:

  1. Buka halaman Instances Spanner di konsolGoogle Cloud .

    Buka halaman Instances

    Konsol menampilkan daftar instance Spanner Anda.

  2. Pilih instance Spanner, lalu pilih database.

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

  4. Klik Lihat di BigQuery.

  5. 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.

  6. Isi sisa dialog dan lakukan hal berikut:

    • Pilih Read data in parallel.
    • Pilih Gunakan Spanner Data Boost.
  7. 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 Anda. 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 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 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

  1. Buka Membuat koneksi Spanner di dokumentasi BigQuery dan ikuti petunjuk di tab Console.

  2. Di panel External data source, lakukan hal berikut:

    • Pilih Read data in parallel.
    • Pilih Gunakan Spanner Data Boost.

bq

  1. Buka Membuat koneksi Spanner dalam dokumentasi BigQuery dan ikuti petunjuk di tab 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 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 berikutnya