Tampilan JOBS_BY_USER
Tampilan INFORMATION_SCHEMA.JOBS_BY_USER berisi metadata yang hampir
real-time tentang tugas BigQuery yang dikirimkan oleh
pengguna saat ini dalam project saat ini.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk meng-kueri tampilan INFORMATION_SCHEMA.JOBS_BY_USER, minta administrator untuk memberi Anda peran IAM BigQuery User (roles/bigquery.user) di project Anda.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditentukan ini berisi izin bigquery.jobs.list, yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.JOBS_BY_USER.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Data pokok dipartisi oleh kolom creation_time serta
dikelompokkan menurut project_id dan user_email.
Tampilan INFORMATION_SCHEMA.JOBS_BY_USER memiliki skema berikut:
| Nama kolom | Data type | Nilai |
|---|---|---|
bi_engine_statistics |
RECORD |
Jika project dikonfigurasi untuk menggunakan BI
Engine, kolom ini akan berisi BiEngineStatistics.
Atau NULL.
|
cache_hit |
BOOLEAN |
Apakah hasil kueri tugas ini berasal dari cache.
Jika Anda memiliki tugas pernyataan
multi-kueri, cache_hit untuk kueri induk Anda adalah
NULL.
|
creation_time |
TIMESTAMP |
(Kolom partisi) Waktu pembuatan tugas ini. Partisi didasarkan pada waktu UTC stempel waktu ini. |
destination_table |
RECORD |
Tabel tujuan untuk hasil, jika ada. |
dml_statistics |
RECORD |
Jika tugas adalah kueri dengan pernyataan DML, nilainya adalah data dengan
kolom berikut:
NULL.Kolom ini ada dalam tampilan INFORMATION_SCHEMA.JOBS_BY_USER dan
INFORMATION_SCHEMA.JOBS_BY_PROJECT.
|
end_time |
TIMESTAMP |
Waktu berakhir tugas ini, dalam milidetik sejak epoch. Kolom ini menunjukkan
waktu saat tugas memasuki status DONE. |
error_result |
RECORD |
Detail error sebagai objek ErrorProto. |
job_creation_reason.code |
STRING |
Menentukan alasan umum pembuatan tugas. Nilai yang mungkin adalah:
|
job_id |
STRING |
ID tugas jika tugas telah dibuat. Jika tidak, ID kueri dari kueri yang menggunakan mode
pembuatan tugas opsional. Misalnya, bquxjob_1234. |
job_stages |
RECORD REPEATED |
Tahap
kueri tugas.
Catatan: Nilai kolom ini kosong untuk kueri yang membaca dari tabel dengan kebijakan akses tingkat baris. Untuk mengetahui informasi selengkapnya, lihat praktik terbaik untuk keamanan tingkat baris di BigQuery. |
job_type |
STRING |
Jenis tugas. Dapat berupa QUERY, LOAD, EXTRACT,
COPY, atau NULL. Nilai NULL menunjukkan tugas latar belakang.
|
labels |
RECORD |
Array label yang diterapkan ke tugas sebagai pasangan nilai kunci. |
object_storage_stats |
RECORD REPEATED |
Statistik untuk penggunaan penyimpanan objek dan caching untuk tugas kueri.
Nilainya adalah kumpulan data berulang dengan kolom berikut:
|
parent_job_id |
STRING |
ID tugas induk, jika ada. |
priority |
STRING |
Prioritas tugas ini. Nilai yang valid mencakup INTERACTIVE, dan
BATCH. |
project_id |
STRING |
(Kolom pengelompokkan) ID project. |
project_number |
INTEGER |
Nomor project. |
query |
STRING |
Teks kueri SQL. |
referenced_tables |
RECORD |
Array nilai STRUCT
yang berisi kolom STRING berikut untuk setiap tabel yang direferensikan oleh kueri:
project_id, dataset_id, dan table_id. Hanya diisi
untuk tugas kueri yang bukan cache ditemukan.
|
referenced_logical_views |
RECORD |
Array nilai STRUCT
yang berisi kolom STRING berikut untuk setiap tampilan
logis yang dirujuk oleh kueri: project_id,
dataset_id, dan table_id. Hanya diisi untuk
tugas kueri yang bukan hit cache.
|
reservation_id |
STRING |
Nama reservasi utama yang ditetapkan untuk tugas ini,
dalam format
RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME.Dalam output ini:
|
reservation_group_path |
ARRAY<STRING> |
Grup pemesanan yang ditautkan ke pemesanan.
Misalnya, jika pemesanan ditautkan ke grup my-group,
kolom reservation_group_path akan berisi daftar seperti: [my-group]. |
edition |
STRING |
Edisi yang terkait dengan pemesanan yang ditetapkan ke tugas ini. Untuk mengetahui informasi selengkapnya tentang edisi, lihat Pengantar edisi BigQuery. |
session_info |
RECORD |
Detail tentang sesi tempat tugas ini dijalankan, jika ada. |
start_time |
TIMESTAMP |
Waktu mulai tugas ini, dalam milidetik sejak epoch. Kolom ini menunjukkan
waktu saat tugas bertransisi dari status PENDING ke
RUNNING atau DONE. |
state |
STRING |
Status tugas yang berjalan. Status yang valid mencakup PENDING, RUNNING, dan
DONE.
|
statement_type |
STRING |
Jenis pernyataan kueri. Misalnya, DELETE, INSERT,
SCRIPT, SELECT, atau UPDATE. Lihat QueryStatementType
untuk mengetahui daftar nilai yang valid.
|
timeline |
RECORD |
Linimasa kueri tugas. Berisi snapshot eksekusi kueri. |
total_bytes_billed |
INTEGER |
Jika project dikonfigurasi untuk menggunakan harga sesuai permintaan, maka kolom ini berisi total byte yang ditagih untuk
tugas tersebut. Jika project dikonfigurasi untuk menggunakan harga
tetap, Anda tidak akan dikenai biaya untuk byte dan kolom ini
hanya bersifat informasi.
Catatan: Nilai kolom ini kosong untuk kueri yang membaca dari tabel dengan kebijakan akses tingkat baris. Untuk mengetahui informasi selengkapnya, lihat praktik terbaik untuk keamanan tingkat baris di BigQuery. |
total_bytes_processed |
INTEGER |
Total byte yang diproses oleh tugas. Catatan: Nilai kolom ini kosong untuk kueri yang membaca dari tabel dengan kebijakan akses tingkat baris. Untuk mengetahui informasi selengkapnya, lihat praktik terbaik untuk keamanan tingkat baris di BigQuery. |
total_modified_partitions |
INTEGER |
Jumlah total partisi yang diubah oleh tugas. Kolom ini
diisi untuk tugas LOAD dan QUERY.
|
total_slot_ms |
INTEGER |
Masukkan milidetik untuk tugas selama keseluruhan durasinya dalam status RUNNING,
termasuk percobaan ulang. |
total_services_sku_slot_ms |
INTEGER |
Total slot milidetik untuk tugas yang berjalan di layanan eksternal dan ditagih pada SKU layanan. Kolom ini hanya diisi untuk tugas yang memiliki biaya layanan eksternal, dan merupakan
total penggunaan untuk biaya yang metode penagihannya adalah "SERVICES_SKU". |
transaction_id |
STRING |
ID transaksi tempat tugas ini berjalan, jika ada. |
user_email |
STRING |
(Kolom pengelompokan) Alamat email atau akun layanan pengguna yang menjalankan tugas. |
principal_subject |
STRING |
Representasi string dari identitas principal yang menjalankan tugas. |
query_info.resource_warning |
STRING |
Pesan peringatan yang muncul jika penggunaan resource selama pemrosesan kueri berada di atas ambang batas internal sistem. Tugas kueri yang berhasil dapat mengisi kolom resource_warning. Dengan resource_warning, Anda akan mendapatkan titik data tambahan untuk mengoptimalkan kueri dan menyiapkan pemantauan tren performa kumpulan kueri yang setara menggunakan query_hashes.
|
query_info.query_hashes.normalized_literals |
STRING |
Berisi nilai hash kueri. normalized_literals adalah hash
STRING heksadesimal yang mengabaikan komentar, parameter value, UDF, dan literal.
Nilai hash akan berbeda saat tampilan yang mendasarinya berubah, atau jika kueri secara implisit
mereferensikan kolom, seperti SELECT *, dan skema tabel berubah.
Kolom ini muncul untuk kueri GoogleSQL yang berhasil dan bukan cache ditemukan. |
query_info.performance_insights |
RECORD |
Insight performa untuk tugas. |
transferred_bytes |
INTEGER |
Total byte yang ditransfer untuk kueri BigQuery Omni, seperti tugas transfer BigQuery Omni. |
materialized_view_statistics |
RECORD |
Statistik tampilan terwujud yang dipertimbangkan dalam tugas kueri. (Pratinjau) |
metadata_cache_statistics |
RECORD |
Statistik penggunaan indeks kolom metadata untuk tabel yang dirujuk dalam tugas kueri. |
search_statistics |
RECORD |
Statistik untuk kueri penelusuran. |
query_dialect |
STRING |
Kolom ini akan tersedia sekitar bulan Mei 2025.
Dialek kueri yang digunakan untuk tugas. Nilai yang valid mencakup:
Untuk tugas yang dikirimkan oleh pengguna, kolom ini hanya diisi untuk tugas kueri. Pemilihan dialek kueri default dapat dikontrol oleh setelan konfigurasi. Untuk tugas latar belakang, nilai kolom ini tidak dikontrol oleh setelan konfigurasi dialek kueri default, dan tidak memengaruhi tugas yang dikirimkan oleh pengguna. Untuk beberapa tugas latar belakang, nilai ini dihilangkan. |
continuous |
BOOLEAN |
Apakah tugas merupakan kueri berkelanjutan. |
continuous_query_info.output_watermark |
TIMESTAMP |
Menunjukkan titik tempat kueri berkelanjutan berhasil memproses data. |
vector_search_statistics |
RECORD |
Statistik untuk kueri penelusuran vektor. |
external_service_costs |
RECORD |
Array informasi tentang biaya layanan eksternal untuk tugas kueri. |
ml_statistics.model_type |
STRING |
Jika tugas adalah kueri pembuatan model BigQuery ML, maka kolom ini menentukan jenis model yang sedang dibuat. Untuk semua tugas lainnya, nilainya adalah NULL.
|
Untuk stabilitas, sebaiknya Anda mencantumkan kolom secara eksplisit dalam kueri skema informasi, bukan
menggunakan karakter pengganti (SELECT *). Mencantumkan kolom secara eksplisit mencegah kueri
rusak jika skema yang mendasarinya berubah.
Retensi data
Tampilan ini menampilkan tugas yang sedang berjalan beserta histori tugas selama 180 hari terakhir.
Jika project dimigrasikan ke organisasi (baik dari tidak memiliki organisasi atau
dari organisasi lain), informasi tugas sebelum tanggal migrasi tidak dapat
diakses melalui tampilan INFORMATION_SCHEMA.JOBS_BY_USER, karena tampilan tersebut
hanya menyimpan data mulai dari tanggal migrasi.
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan penentu region. Tabel berikut menjelaskan cakupan region untuk tabel virtual ini:
| Nama tabel virtual | Cakupan resource | Cakupan region |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_USER |
Tugas yang dikirim oleh pengguna saat ini dalam project yang ditentukan. | REGION |
-
Opsional:
PROJECT_ID: ID Google Cloud project 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.JOBS_BY_USER
PROJECT_ID: ID projectREGION_NAME: region untuk project Anda
Misalnya, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_USER.
Melihat tugas yang tertunda atau berjalan
Kueri berikut menampilkan ID pekerjaan, waktu pembuatan, dan kueri dari semua tugas yang tertunda atau berjalan yang dikirimkan oleh pengguna saat ini dalam project yang ditetapkan:
SELECT job_id, creation_time, query FROM `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_USER WHERE state != 'DONE';
Hasilnya mirip dengan berikut ini:
+--------------+---------------------------+---------------------------------+ | job_id | creation_time | query | +--------------+---------------------------+---------------------------------+ | bquxjob_1 | 2019-10-10 00:00:00 UTC | SELECT ... FROM dataset.table1 | | bquxjob_2 | 2019-10-10 00:00:01 UTC | SELECT ... FROM dataset.table2 | | bquxjob_3 | 2019-10-10 00:00:02 UTC | SELECT ... FROM dataset.table3 | +--------------+---------------------------+---------------------------------+