Tampilan WRITE_API_TIMELINE_BY_ORGANIZATION

Tampilan INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_ORGANIZATION berisi statistik streaming gabungan per menit untuk seluruh organisasi yang terkait dengan project saat ini.

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 Storage Write API BigQuery untuk mengetahui informasi selengkapnya.

Izin yang diperlukan

Untuk membuat kueri tampilan INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION, Anda memerlukan izin Identity and Access Management (IAM) bigquery.tables.list untuk organisasi.

Setiap peran IAM yang telah ditetapkan berikut menyertakan izin yang diperlukan:

  • 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 API INFORMATION_SCHEMA, hasil kueri akan berisi informasi historis dan real-time tentang penyerapan data ke BigQuery menggunakan BigQuery Storage Write API. Setiap baris pada tampilan berikut mewakili statistik untuk 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 ditransfer ke tabel selama jangka waktu tertentu, tidak akan ada baris untuk stempel waktu yang sesuai bagi tabel tersebut.

Tampilan INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_* memiliki skema berikut:

Nama kolom Jenis data Nilai
start_timestamp TIMESTAMP (Kolom partisi) Stempel waktu mulai dari interval 1 menit untuk statistik gabungan.
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 aliran data yang digunakan untuk penyerapan data dengan BigQuery Storage Write API. Nilai ini 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 streaming 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_ORGANIZATION Organisasi yang berisi project yang ditentukan 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 membuat kueri data di multi-region AS, gunakan `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
    • Untuk membuat kueri data di multi-region Uni Eropa, gunakan `region-eu`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
    • Untuk membuat kueri data di region asia-northeast1, gunakan `region-asia-northeast1`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION

    Untuk mengetahui daftar region yang tersedia, lihat Lokasi set data.

    Contoh

    Contoh 1: Kegagalan penyerapan Storage Write API BigQuery terbaru

    Contoh berikut menghitung perincian per menit dari total permintaan yang gagal untuk semua tabel di organisasi project dalam 30 menit terakhir, terbagi menurut 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_ORGANIZATION
    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 tambahan yang berhasil dan gagal di organisasi project, yang dibagi menjadi beberapa 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 | quota_error | user_error | server_error | total_error |
    +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
    | 2020-04-15 22:00:00 |         441854 |     441854 |       23784853118 |           0 |          0 |           17 |          17 |
    | 2020-04-15 21:59:00 |         355627 |     355627 |       26101982742 |           5 |          8 |            0 |          13 |
    | 2020-04-15 21:58:00 |         354603 |     354603 |       26160565341 |           0 |          0 |            0 |           0 |
    | 2020-04-15 21:57:00 |         298823 |     298823 |       23877821442 |           0 |          2 |            0 |           2 |
    +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
    
    Contoh 3: Tabel dengan traffic masuk terbanyak

    Contoh berikut menampilkan statistik penyerapan BigQuery Storage Write API untuk 10 tabel dalam organisasi project dengan traffic masuk terbanyak:

    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_ORGANIZATION
    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 |
    +----------------------+------------+-------------------------------+------------+----------------+--------------+