Tampilan INFORMATION_SCHEMA.SHARED_DATASET_USAGE

Tampilan INFORMATION_SCHEMA.SHARED_DATASET_USAGE berisi metadata yang mendekati real-time tentang pemakaian tabel set data bersama. Untuk mulai membagikan data Anda ke seluruh organisasi, lihat Analytics Hub.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.SHARED_DATASET_USAGE, minta administrator untuk memberi Anda peran IAM BigQuery Data Owner (roles/bigquery.dataOwner) di project sumber Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditentukan ini berisi izin bigquery.datasets.listSharedDatasetUsage, yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Skema

Data pokok dipartisi oleh kolom job_start_time dan dikelompokkan menurut project_id dan dataset_id.

INFORMATION_SCHEMA.SHARED_DATASET_USAGE memiliki skema berikut:

Nama kolom Data type Nilai
project_id STRING (Kolom pengelompokan) ID project yang berisi set data bersama.
dataset_id STRING (Kolom pengelompokan) ID dari set data bersama.
table_id STRING ID tabel yang diakses.
data_exchange_id STRING Jalur resource pertukaran data.
listing_id STRING Jalur resource listingan.
job_start_time TIMESTAMP (Kolom partisi) Waktu mulai tugas ini.
job_end_time TIMESTAMP Waktu berakhir tugas ini.
job_id STRING ID tugas. Misalnya, bquxjob_1234.
job_project_number INTEGER Jumlah project yang mencakup tugas ini.
job_location STRING Lokasi tugas.
linked_project_number INTEGER Nomor project pada project pelanggan.
linked_dataset_id STRING ID set data tertaut dari set data pelanggan.
subscriber_org_number INTEGER Nomor organisasi tempat tugas dijalankan. Nomor ini adalah nomor organisasi pelanggan. Kolom ini kosong untuk project yang tidak memiliki organisasi.
subscriber_org_display_name STRING String yang dapat dibaca manusia yang mengacu pada organisasi tempat tugas dijalankan. Nomor ini adalah nomor organisasi pelanggan. Kolom ini kosong untuk project yang tidak memiliki organisasi.
num_rows_processed INTEGER Jumlah baris yang diproses dari tabel ini oleh tugas.
total_bytes_processed INTEGER Total byte yang diproses dari tabel ini oleh tugas.

Retensi data

Tampilan INFORMATION_SCHEMA.SHARED_DATASET_USAGE berisi tugas yang sedang berjalan dan histori tugas selama 180 hari terakhir.

Cakupan dan sintaksis

Kueri terhadap tampilan ini harus menyertakan penentu region. Jika Anda tidak menetapkan penentu regional, metadata akan diambil dari region AS. Tabel berikut menjelaskan cakupan region untuk tampilan ini:

Nama Tampilan Cakupan resource Cakupan region
[PROJECT_ID.]INFORMATION_SCHEMA.SHARED_DATASET_USAGE Level project Region AS
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE Level project REGION
Ganti kode berikut:

  • Opsional: PROJECT_ID: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
  • REGION: nama region set data apa pun. Misalnya, region-us.

Contoh

Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID dalam format berikut:

PROJECT_ID.region-REGION_NAME.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

Misalnya, myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

Mendapatkan jumlah total tugas yang dijalankan di semua tabel bersama

Contoh berikut menghitung total tugas yang dijalankan oleh pelanggan untuk sebuah project:

SELECT
  COUNT(DISTINCT job_id) AS num_jobs
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

Hasilnya mirip dengan berikut ini:

+------------+
| num_jobs   |
+------------+
| 1000       |
+------------+

Untuk memeriksa total tugas yang dijalankan oleh pelanggan, gunakan klausa WHERE:

  • Untuk set data, gunakan WHERE dataset_id = "...".
  • Untuk tabel, gunakan WHERE dataset_id = "..." AND table_id = "...".

Mendapatkan tabel yang paling sering digunakan berdasarkan jumlah baris yang diproses

Kueri berikut menghitung tabel yang paling sering digunakan berdasarkan jumlah baris yang diproses oleh pelanggan.

SELECT
  dataset_id,
  table_id,
  SUM(num_rows_processed) AS usage_rows
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
GROUP BY
  1,
  2
ORDER BY
  3 DESC
LIMIT
  1

Outputnya mirip dengan yang berikut ini:

+---------------+-------------+----------------+
| dataset_id    | table_id      | usage_rows     |
+---------------+-------------+----------------+
| mydataset     | mytable     | 15             |
+---------------+-------------+----------------+

Menemukan organisasi teratas yang menggunakan tabel Anda

Kueri berikut menghitung pelanggan teratas berdasarkan jumlah byte yang diproses dari tabel Anda. Anda juga dapat menggunakan kolom num_rows_processed sebagai metrik.

SELECT
  subscriber_org_number,
  ANY_VALUE(subscriber_org_display_name) AS subscriber_org_display_name,
  SUM(total_bytes_processed) AS usage_bytes
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
GROUP BY
  1

Outputnya mirip dengan hal berikut ini:

+--------------------------+--------------------------------+----------------+
|subscriber_org_number     | subscriber_org_display_name    | usage_bytes    |
+-----------------------------------------------------------+----------------+
| 12345                    | myorganization                 | 15             |
+--------------------------+--------------------------------+----------------+

Untuk pelanggan tanpa organisasi, Anda dapat menggunakan job_project_number, bukan subscriber_org_number.

Mendapatkan metrik penggunaan untuk pertukaran data Anda

Jika pertukaran data dan set data sumber Anda berada di project yang berbeda, ikuti langkah berikut guna melihat metrik penggunaan untuk pertukaran data Anda:

  1. Temukan semua listingan yang termasuk dalam pertukaran data Anda.
  2. Ambil set data sumber yang dilampirkan ke listingan.
  3. Untuk melihat metrik penggunaan bagi pertukaran data Anda, gunakan kueri berikut:
SELECT
  *
FROM
  source_project_1.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
WHERE
  dataset_id='source_dataset_id'
AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"
UNION ALL
SELECT
  *
FROM
  source_project_2.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
WHERE
  dataset_id='source_dataset_id'
AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"