Tampilan WRITE_API_TIMELINE_BY_FOLDER
Tampilan INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
berisi statistik penyerapan BigQuery Storage Write API gabungan per menit untuk folder induk project saat ini, termasuk subfoldernya.
Anda dapat membuat kueri tampilan Write API INFORMATION_SCHEMA
untuk mengambil informasi historis dan real-time tentang penyerapan data ke
BigQuery yang menggunakan BigQuery Storage Write API. Lihat BigQuery Storage Write API untuk mengetahui informasi selengkapnya.
Izin yang diperlukan
Untuk membuat kueri tampilan INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
, Anda memerlukan
izin Identity and Access Management (IAM) bigquery.tables.list
untuk folder
induk project.
Setiap peran IAM yang telah ditetapkan berikut menyertakan izin sebelumnya:
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.metadataViewer
roles/bigquery.resourceAdmin
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Saat Anda membuat kueri tampilan BigQuery Storage Write APIINFORMATION_SCHEMA
, hasil kueri akan berisi informasi historis dan real-time tentang penyerapan data ke
BigQuery menggunakan BigQuery Storage Write API. Setiap baris dalam tampilan berikut mewakili statistik penyerapan ke tabel tertentu, yang digabungkan selama interval satu menit mulai dari start_timestamp
. Statistik dikelompokkan berdasarkan jenis streaming dan kode error, sehingga akan ada satu baris untuk setiap jenis streaming dan
setiap kode error yang ditemukan selama interval satu menit untuk setiap kombinasi stempel waktu
dan tabel. Permintaan yang berhasil memiliki kode error yang ditetapkan ke OK
. Jika tidak ada data yang di-ingest ke dalam tabel selama jangka waktu tertentu, tidak akan ada baris untuk stempel waktu yang sesuai bagi tabel tersebut.
Tabel virtual INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
start_timestamp |
TIMESTAMP |
(Kolom partisi) Stempel waktu mulai dari interval 1 menit untuk statistik gabungan. |
folder_numbers |
REPEATED INTEGER |
Jumlah ID folder yang berisi project, dimulai dengan folder yang langsung
berisi project, diikuti dengan folder yang berisi folder turunan, dan sebagainya.
Misalnya, jika folder_numbers adalah [1, 2, 3] , maka folder
1 langsung berisi project, folder 2 berisi
1 , dan folder 3 berisi 2 . Kolom ini hanya
diisi di WRITE_API_TIMELINE_BY_FOLDER .
|
project_id |
STRING |
(Kolom pengelompokan) ID project. |
project_number |
INTEGER |
Nomor project. |
dataset_id |
STRING |
(Kolom pengelompokan) ID set data. |
table_id |
STRING |
(Kolom pengelompokan) ID tabel. |
stream_type |
STRING |
Jenis streaming yang digunakan untuk penyerapan data dengan BigQuery Storage Write API. Seharusnya salah satu dari "DEFAULT", "COMMITTED", "BUFFERED", atau "PENDING". |
error_code |
STRING |
Kode error yang ditampilkan untuk permintaan yang ditentukan oleh baris ini. "OK" untuk permintaan yang berhasil. |
total_requests |
INTEGER |
Jumlah total permintaan dalam interval 1 menit. |
total_rows |
INTEGER |
Jumlah total baris dari semua permintaan dalam interval 1 menit. |
total_input_bytes |
INTEGER |
Jumlah total byte dari semua baris dalam interval 1 menit. |
Retensi data
Tampilan ini berisi histori penyerapan BigQuery Storage Write API selama 180 hari terakhir.
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan penentu region. Jika Anda tidak menentukan penentu regional, metadata akan diambil dari semua region. Tabel berikut menjelaskan cakupan region untuk tabel virtual ini:
Nama tabel virtual | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER |
Folder yang berisi project yang ditentukan | 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 membuat kueri data di multi-region AS, gunakan
region-us.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
- Untuk membuat kueri data di multi-region Uni Eropa, gunakan
region-eu.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
- Untuk membuat kueri data di region asia-northeast1, gunakan
region-asia-northeast1.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
Untuk mengetahui daftar region yang tersedia, lihat Lokasi set data.
Contoh
Contoh 1: Kegagalan penyerapan BigQuery Storage Write API baru-baru ini
Contoh berikut menghitung perincian per menit dari total permintaan yang gagal untuk semua tabel di folder project dalam 30 menit terakhir, yang dibagi menurut jenis streaming dan kode error:
SELECT start_timestamp, stream_type, error_code, SUM(total_requests) AS num_failed_requests FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER WHERE error_code != 'OK' AND start_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 30 MINUTE) GROUP BY start_timestamp, stream_type, error_code ORDER BY start_timestamp DESC;
Hasilnya mirip dengan berikut ini:
+---------------------+-------------+------------------+---------------------+ | start_timestamp | stream_type | error_code | num_failed_requests | +---------------------+-------------+------------------+---------------------+ | 2023-02-24 00:25:00 | PENDING | NOT_FOUND | 5 | | 2023-02-24 00:25:00 | DEFAULT | INVALID_ARGUMENT | 1 | | 2023-02-24 00:25:00 | DEFAULT | DEADLINE_EXCEEDED| 4 | | 2023-02-24 00:24:00 | PENDING | INTERNAL | 3 | | 2023-02-24 00:24:00 | DEFAULT | INVALID_ARGUMENT | 1 | | 2023-02-24 00:24:00 | DEFAULT | DEADLINE_EXCEEDED| 2 | +---------------------+-------------+------------------+---------------------+
Contoh 2: Perincian per menit untuk semua permintaan dengan kode error
Contoh berikut menghitung perincian per menit untuk permintaan penambahan yang berhasil dan gagal dalam folder project, yang dibagi menjadi kategori kode error. Kueri ini dapat digunakan untuk mengisi dasbor.
SELECT start_timestamp, SUM(total_requests) AS total_requests, SUM(total_rows) AS total_rows, SUM(total_input_bytes) AS total_input_bytes, SUM( IF( error_code IN ( 'INVALID_ARGUMENT', 'NOT_FOUND', 'CANCELLED', 'RESOURCE_EXHAUSTED', 'ALREADY_EXISTS', 'PERMISSION_DENIED', 'UNAUTHENTICATED', 'FAILED_PRECONDITION', 'OUT_OF_RANGE'), total_requests, 0)) AS user_error, SUM( IF( error_code IN ( 'DEADLINE_EXCEEDED','ABORTED', 'INTERNAL', 'UNAVAILABLE', 'DATA_LOSS', 'UNKNOWN'), total_requests, 0)) AS server_error, SUM(IF(error_code = 'OK', 0, total_requests)) AS total_error, FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER GROUP BY start_timestamp ORDER BY start_timestamp DESC;
Hasilnya mirip dengan berikut ini:
+---------------------+----------------+------------+-------------------+------------+--------------+-------------+ | start_timestamp | total_requests | total_rows | total_input_bytes | user_error | server_error | total_error | +---------------------+----------------+------------+-------------------+------------+--------------+-------------+ | 2020-04-15 22:00:00 | 441854 | 441854 | 23784853118 | 0 | 17 | 17 | | 2020-04-15 21:59:00 | 355627 | 355627 | 26101982742 | 8 | 0 | 13 | | 2020-04-15 21:58:00 | 354603 | 354603 | 26160565341 | 0 | 0 | 0 | | 2020-04-15 21:57:00 | 298823 | 298823 | 23877821442 | 2 | 0 | 2 | +---------------------+----------------+------------+-------------------+------------+--------------+-------------+
Contoh 3: Tabel dengan traffic masuk terbanyak
Contoh berikut menampilkan statistik penyerapan BigQuery Storage Write API untuk 10 tabel di folder project dengan traffic masuk paling banyak:
SELECT project_id, dataset_id, table_id, SUM(total_rows) AS num_rows, SUM(total_input_bytes) AS num_bytes, SUM(total_requests) AS num_requests FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER GROUP BY project_id, dataset_id, table_id ORDER BY num_bytes DESC LIMIT 10;
Hasilnya mirip dengan berikut ini:
+----------------------+------------+-------------------------------+------------+----------------+--------------+ | project_id | dataset_id | table_id | num_rows | num_bytes | num_requests | +----------------------+------------+-------------------------------+------------+----------------+--------------+ | my-project1 | dataset1 | table1 | 8016725532 | 73787301876979 | 8016725532 | | my-project2 | dataset1 | table2 | 26319580 | 34199853725409 | 26319580 | | my-project1 | dataset2 | table1 | 38355294 | 22879180658120 | 38355294 | | my-project3 | dataset1 | table3 | 270126906 | 17594235226765 | 270126906 | | my-project2 | dataset2 | table2 | 95511309 | 17376036299631 | 95511309 | | my-project2 | dataset2 | table3 | 46500443 | 12834920497777 | 46500443 | | my-project3 | dataset2 | table4 | 25846270 | 7487917957360 | 25846270 | | my-project4 | dataset1 | table4 | 18318404 | 5665113765882 | 18318404 | | my-project4 | dataset1 | table5 | 42829431 | 5343969665771 | 42829431 | | my-project4 | dataset1 | table6 | 8771021 | 5119004622353 | 8771021 | +----------------------+------------+-------------------------------+------------+----------------+--------------+