Melihat rekomendasi partisi dan cluster

Dokumen ini menjelaskan cara kerja pemberi rekomendasi cluster dan partisi, serta cara melihat rekomendasi dan insight Anda.

Pemberi rekomendasi partisi dan cluster BigQuery menghasilkan rekomendasi partisi atau cluster untuk mengoptimalkan tabel BigQuery Anda. Pemberi rekomendasi menganalisis alur kerja di tabel BigQuery Anda dan menawarkan rekomendasi untuk lebih mengoptimalkan alur kerja dan membuat kueri biaya dengan lebih baik menggunakan partisi tabel atau pengelompokan tabel.

Untuk mengetahui informasi selengkapnya tentang layanan Pemberi rekomendasi, lihat Ringkasan pemberi rekomendasi.

Cara kerja pemberi rekomendasi

Untuk menghasilkan rekomendasi, pemberi rekomendasi partisi dan cluster menggunakan data eksekusi workload project dari 30 hari terakhir untuk menganalisis setiap tabel BigQuery guna menemukan konfigurasi partisi dan pengelompokan yang kurang optimal. Pemberi rekomendasi juga menggunakan machine learning untuk memprediksi seberapa banyak eksekusi workload yang dapat dioptimalkan dengan konfigurasi partisi atau cluster yang berbeda. Jika pemberi rekomendasi mendapati bahwa partisi atau pengelompokan tabel menghasilkan penghematan yang signifikan, pemberi rekomendasi akan menghasilkan rekomendasi. Pemberi rekomendasi pembuatan partisi dan cluster akan menghasilkan jenis rekomendasi berikut:

Jenis tabel yang ada Subjenis rekomendasi Contoh rekomendasi
Tidak dipartisi, tidak dikelompokkan Partisi "Hemat sekitar 64 slot jam per bulan dengan membuat partisi pada column_C by DAY"
Tidak dipartisi, tidak dikelompokkan Cluster "Hemat sekitar 64 jam slot per bulan dengan membuat cluster pada column_C"
Dipartisi, tidak dikelompokkan Cluster "Hemat sekitar 64 jam slot per bulan dengan membuat cluster pada column_C"

Setiap rekomendasi terdiri dari tiga bagian:

  • Panduan untuk partisi atau cluster tabel tertentu
  • Kolom tertentu dalam tabel untuk melakukan partisi atau cluster
  • Estimasi penghematan bulanan untuk penerapan rekomendasi

Untuk menghitung potensi penghematan workload, pemberi rekomendasi mengasumsikan bahwa data histori workload eksekusi dari 30 hari terakhir mewakili workload mendatang.

API pemberi rekomendasi juga menampilkan informasi workload tabel dalam bentuk insight. Insight adalah temuan yang membantu Anda memahami workload project, yang memberikan lebih banyak konteks tentang bagaimana rekomendasi partisi atau cluster dapat meningkatkan biaya workload.

Batasan

Pemberi rekomendasi partisi dan cluster mengecualikan kueri legacy SQL dalam analisisnya.

Pemberi rekomendasi pembuatan partisi dan pengelompokan tidak mendukung resource yang disimpan di region berikut:

  • europe-central2, europe-west8, europe-west9, europe-west12, europe-north1, europe-southwest1
  • us-east1, us-east5, us-south1
  • me-central1, me-central2, me-west1
  • australia-southeast2
  • southamerica-west1

Sebelum memulai

Sebelum dapat melihat rekomendasi partisi dan cluster, Anda harus mengaktifkan Recommender API.

Izin yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengakses rekomendasi partisi dan cluster, minta administrator untuk memberi Anda BigQuery Partitioning Clustering Recommender Viewer (roles/recommender.bigqueryPartitionClusterViewer) Peran IAM. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk mengakses rekomendasi partisi dan cluster. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengakses rekomendasi partisi dan cluster:

  • recommender.bigqueryPartitionClusterRecommendations.get
  • recommender.bigqueryPartitionClusterRecommendations.list

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan sebelumnya.

Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, baca Pengantar IAM.

Melihat rekomendasi

Bagian ini menjelaskan cara melihat rekomendasi dan insight partisi dan cluster menggunakan Konsol Google Cloud, Google Cloud CLI, atau Recommender API.

Pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Untuk membuka tab rekomendasi, klik Rekomendasi > Lihat semua rekomendasi.

    Klik Rekomendasi untuk melihat semua rekomendasi.

    Tab rekomendasi mencantumkan semua rekomendasi yang tersedia untuk project Anda.

  3. Di panel Optimalkan biaya workload BigQuery, klik Lihat semua.

    Tabel rekomendasi biaya mencantumkan semua rekomendasi yang dihasilkan untuk project saat ini. Misalnya, screenshot berikut menunjukkan bahwa pemberi rekomendasi menganalisis tabel example_table, lalu merekomendasikan pengelompokan kolom example_column untuk menyimpan perkiraan jumlah byte dan slot.

    Tabel rekomendasi dengan rekomendasi partisi dan cluster.

  4. Untuk melihat informasi selengkapnya tentang insight dan rekomendasi tabel, klik rekomendasi.

gcloud

Untuk melihat rekomendasi partisi atau cluster untuk project tertentu, gunakan perintah gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --project=PROJECT_NAME \
    --location=REGION_NAME \
    --recommender=google.bigquery.table.PartitionClusterRecommender \
    --format=FORMAT_TYPE \

Ganti kode berikut:

  • PROJECT_NAME: nama project yang berisi tabel BigQuery Anda
  • REGION_NAME: region tempat project Anda berada
  • FORMAT_TYPE: format output gcloud CLI yang didukung—misalnya, JSON
Tabel berikut menjelaskan kolom penting dari respons API pemberi rekomendasi:

Properti Relevan untuk subjenis Deskripsi
recommenderSubtype Partisi atau cluster Menunjukkan jenis rekomendasi.
content.overview.partitionColumn Partisi Nama kolom partisi yang direkomendasikan.
content.overview.partitionTimeUnit Partisi Unit waktu partisi yang direkomendasikan. Misalnya, DAY berarti rekomendasinya adalah memiliki partisi harian di kolom yang direkomendasikan.
content.overview.clusterColumns Cluster Nama kolom cluster yang direkomendasikan.

Untuk melihat insight tabel menggunakan gcloud CLI, gunakan perintah gcloud recommender insights list:

gcloud recommender insights list \
    --project=PROJECT_NAME \
    --location=REGION_NAME \
    --insight-type=google.bigquery.table.StatsInsight \
    --format=FORMAT_TYPE \

Ganti kode berikut:

  • PROJECT_NAME: nama project yang berisi tabel BigQuery Anda
  • REGION_NAME: region tempat project Anda berada
  • FORMAT_TYPE: format output gcloud CLI yang didukung—misalnya, JSON
Tabel berikut menjelaskan kolom penting dari respons API insight:

Properti Relevan untuk subjenis Deskripsi
content.existingPartitionColumn Cluster Kolom partisi yang ada, jika ada
content.tableSizeTb Semua Ukuran tabel dalam terabyte
content.bytesReadMonthly Semua Byte bulanan yang dibaca dari tabel
content.slotMsConsumedMonthly Semua Slot bulanan dalam milidetik yang terpakai oleh workload yang berjalan di tabel
content.queryJobsCountMonthly Semua Jumlah tugas bulanan yang berjalan di tabel

REST API

Untuk melihat rekomendasi partisi atau cluster untuk project tertentu, gunakan REST API. Dengan setiap perintah, Anda harus menyediakan token autentikasi, yang bisa Anda dapatkan menggunakan gcloud CLI. Untuk mengetahui informasi lebih lanjut mengenai cara mendapatkan token autentikasi, baca Metode untuk mendapatkan token ID.

Anda dapat menggunakan permintaan curl list untuk melihat semua rekomendasi untuk project tertentu:

curl
    -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN"
    -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/recommenders/google.bigquery.table.PartitionClusterRecommender/recommendations

Ganti kode berikut:

  • GCLOUD_AUTH_TOKEN: nama token akses gcloud CLI yang valid
  • PROJECT_NAME: nama project yang berisi tabel BigQuery Anda
Tabel berikut menjelaskan kolom penting dari respons API pemberi rekomendasi:

Properti Relevan untuk subjenis Deskripsi
recommenderSubtype Partisi atau cluster Menunjukkan jenis rekomendasi.
content.overview.partitionColumn Partisi Nama kolom partisi yang direkomendasikan.
content.overview.partitionTimeUnit Partisi Unit waktu partisi yang direkomendasikan. Misalnya, DAY berarti rekomendasinya adalah memiliki partisi harian di kolom yang direkomendasikan.
content.overview.clusterColumns Cluster Nama kolom cluster yang direkomendasikan.

Untuk melihat insight tabel menggunakan REST API, jalankan perintah berikut:

curl
-H "Authorization: Bearer $GCLOUD_AUTH_TOKEN"
-H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/insightTypes/google.bigquery.table.StatsInsight/insights

Ganti kode berikut:

  • GCLOUD_AUTH_TOKEN: nama token akses gcloud CLI yang valid
  • PROJECT_NAME: nama project yang berisi tabel BigQuery Anda
Tabel berikut menjelaskan kolom penting dari respons API insight:

Properti Relevan untuk subjenis Deskripsi
content.existingPartitionColumn Cluster Kolom partisi yang ada, jika ada
content.tableSizeTb Semua Ukuran tabel dalam terabyte
content.bytesReadMonthly Semua Byte bulanan yang dibaca dari tabel
content.slotMsConsumedMonthly Semua Slot bulanan dalam milidetik yang terpakai oleh workload yang berjalan di tabel
content.queryJobsCountMonthly Semua Jumlah tugas bulanan yang berjalan di tabel

Pemecahan masalah

Masalah: Tidak ada rekomendasi yang muncul untuk tabel tertentu.

Rekomendasi partisi dan cluster mungkin tidak muncul dalam situasi berikut:

  • Ukuran tabel kurang dari 10 GB.
  • Tabel ini memiliki biaya tulis yang tinggi dari operasi bahasa pengolahan data (DML).
  • Tabel tidak dibaca dalam 30 hari terakhir.
  • Estimasi penghematan bulanan terlalu tidak signifikan (penghematan kurang dari 1 slot jam).
  • Tabel sudah dikelompokkan.

Harga

Tidak ada biaya atau dampak buruk terhadap performa workload jika Anda melihat rekomendasi.

Langkah selanjutnya