Memantau BI Engine

BigQuery BI Engine mempercepat skenario BigQuery untuk BI menggunakan cache memori dan eksekusi yang lebih cepat. Detail akselerasi dapat dipantau menggunakan INFORMATION_SCHEMA dan metrik Cloud Monitoring.

Cloud Monitoring

Anda dapat memantau dan mengonfigurasi pemberitahuan untuk BigQuery BI Engine dengan Cloud Monitoring. Untuk mempelajari cara membuat dasbor untuk metrik BI Engine, lihat Membuat diagram.

Metrik berikut disediakan untuk BigQuery BI Engine:

Resource Metrik Detail
Project BigQuery Byte Total Pemesanan Total kapasitas yang dialokasikan ke satu project Google Cloud
Project BigQuery Byte Terpakai Pemesanan Total kapasitas yang digunakan dalam satu project Google Cloud
Project BigQuery Byte yang Di-Cache Teratas di BI Engine Penggunaan cache per tabel. Metrik ini menampilkan tabel N teratas per penggunaan laporan wilayah.

Statistik kueri untuk BI Engine

Bagian ini menjelaskan cara menemukan statistik kueri untuk membantu memantau, mendiagnosis, dan memecahkan masalah penggunaan BI Engine.

Mode akselerasi BI Engine

Dengan mengaktifkan akselerasi BI Engine, kueri Anda dapat berjalan dalam salah satu dari empat mode berikut:

BI_ENGINE_DISABLED
BI Engine menonaktifkan akselerasi. biEngineReasons menentukan alasan yang lebih mendetail. Kueri dijalankan menggunakan mesin eksekusi BigQuery.
PARTIAL_INPUT
Bagian dari input kueri dipercepat dengan BI Engine. Seperti yang dijelaskan dalam Pengoptimalan dan akselerasi kueri, paket kueri umumnya dibagi menjadi beberapa tahap input. BI Engine mendukung jenis pola subkueri umum yang biasanya digunakan dalam dasbor. Jika kueri terdiri dari beberapa tahap input, hanya beberapa di antaranya yang termasuk dalam kasus penggunaan yang didukung, BI Engine menjalankan tahapan yang tidak didukung menggunakan mesin BigQuery normal tanpa akselerasi. Dalam situasi ini, BI Engine menampilkan kode akselerasi PARTIAL, dan menggunakan biEngineReasons untuk mengisi alasan untuk tidak mempercepat tahap input lainnya.
 FULL_INPUT
 
Semua tahap input kueri dipercepat menggunakan BI Engine. Data dalam cache digunakan kembali di seluruh kueri, dan komputasi yang mengikuti segera setelah membaca data akan dipercepat.
 FULL_QUERY
 
Seluruh kueri dipercepat menggunakan BI Engine.

Melihat statistik tugas BigQuery API

Statistik mendetail tentang BI Engine tersedia melalui BigQuery API.

Untuk mengambil statistik terkait kueri yang diakselerasi BI Engine, jalankan perintah alat command line bq berikut:

bq show --format=prettyjson -j job_id

Jika project ini diaktifkan untuk akselerasi BI Engine, output akan menghasilkan kolom baru, biEngineStatistics. Berikut adalah contoh laporan tugas:

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

Untuk mengetahui informasi selengkapnya tentang kolom BiEngineStatistics, lihat Referensi tugas.

Statistik skema informasi BigQuery

Statistik akselerasi BI Engine disertakan dalam tampilan INFORMATION_SCHEMA BigQuery sebagai bagian dari tampilan INFORMATION_SCHEMA.JOBS_BY_* di kolom bi_engine_statistics. Misalnya, kueri ini menampilkan bi_engine_statistics untuk semua tugas project saat ini selama 24 jam terakhir:

SELECT
  creation_time,
  job_id,
  bi_engine_statistics
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
  creation_time >
     TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND job_type = "QUERY"

Gunakan format berikut guna menentukan regionalisasi untuk project-id, region, dan views dalam tampilan INFORMATION_SCHEMA:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW

Melihat detail skema informasi Looker Studio

Anda dapat melacak laporan dan sumber data Looker Studio mana yang digunakan oleh BigQuery dengan melihat tampilan INFORMATION_SCHEMA.JOBS. Setiap kueri Looker Studio di BigQuery akan membuat entri dengan label report_id dan datasource_id. ID tersebut muncul di akhir URL Looker Studio saat membuka halaman laporan atau sumber data. Misalnya, laporan dengan URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 memiliki ID laporan "my-report-id-123".

Contoh berikut menunjukkan cara melihat laporan dan sumber data:

Menemukan URL laporan dan sumber data untuk setiap tugas BigQuery Looker Studio

-- Standard labels used by Looker Studio.
DECLARE requestor_key STRING DEFAULT 'requestor';
DECLARE requestor_value STRING DEFAULT 'looker_studio';

CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING)
AS (
  (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key)
);

CREATE TEMP FUNCTION GetDatasourceUrl(labels ANY TYPE)
AS (
  CONCAT("https://lookerstudio.google.com/datasources/", GetLabel(labels, 'looker_studio_datasource_id'))
);

CREATE TEMP FUNCTION GetReportUrl(labels ANY TYPE)
AS (
  CONCAT("https://lookerstudio.google.com/reporting/", GetLabel(labels, 'looker_studio_report_id'))
);

SELECT
  job_id,
  GetDatasourceUrl(labels) AS datasource_url,
  GetReportUrl(labels) AS report_url,
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS jobs
WHERE
  creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND GetLabel(labels, requestor_key) = requestor_value
LIMIT
  100;

Melihat tugas yang dihasilkan menggunakan laporan dan sumber data

-- Specify report and data source id, which can be found at the end of Looker Studio URLs.
DECLARE user_report_id STRING DEFAULT '*report id here*';
DECLARE user_datasource_id STRING DEFAULT '*datasource id here*';

-- Looker Studio labels for BigQuery.
DECLARE requestor_key STRING DEFAULT 'requestor';
DECLARE requestor_value STRING DEFAULT 'looker_studio';
DECLARE datasource_key STRING DEFAULT 'looker_studio_datasource_id';
DECLARE report_key STRING DEFAULT 'looker_studio_report_id';

CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING)
AS (
  (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key)
);

SELECT
  creation_time,
  job_id,
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS jobs
WHERE
  creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND GetLabel(labels, requestor_key) = requestor_value
  AND GetLabel(labels, datasource_key) = user_datasource_id
  AND GetLabel(labels, report_key) = user_report_id
ORDER BY 1
LIMIT 100;

Cloud Logging

Akselerasi BI Engine adalah bagian dari pemrosesan tugas BigQuery. Untuk memeriksa tugas BigQuery untuk project tertentu, lihat halaman Cloud Logging dengan payload protoPayload.serviceName="bigquery.googleapis.com".

Langkah selanjutnya