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 kolomjob_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 |
- 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:
- Temukan semua listingan yang termasuk dalam pertukaran data Anda.
- Ambil set data sumber yang dilampirkan ke listingan.
- 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"