STREAMING_TIMELINE_BY_FOLDER 檢視畫面

INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER 檢視畫面會顯示目前專案上層資料夾 (包括子資料夾) 的每分鐘匯總串流統計資料。

您可以查詢 INFORMATION_SCHEMA 串流檢視畫面,擷取有關將資料串流至 BigQuery 的歷史資料和即時資訊,前提是使用舊版 tabledata.insertAll 方法,而非 BigQuery Storage Write API。如要進一步瞭解如何以串流方式將資料傳入 BigQuery,請參閱「以串流方式將資料傳入 BigQuery」一文。

必要權限

如要查詢 INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER 檢視畫面,您必須具備專案父資料夾的 bigquery.tables.list 身分與存取權管理 (IAM) 權限。

以下每個預先定義的 IAM 角色都包含上述權限:

  • roles/bigquery.admin
  • roles/bigquery.user
  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.metadataViewer
  • roles/bigquery.resourceAdmin

如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。

結構定義

查詢 INFORMATION_SCHEMA 串流檢視畫面時,查詢結果會包含將資料串流至 BigQuery 的歷史資料和即時資訊。下列檢視畫面中的每個資料列都代表匯入特定資料表的串流統計資料,匯總時間間隔為 start_timestamp 開始的一分鐘。統計資料會依錯誤代碼分組,因此每個時間戳記和表格組合在 1 分鐘間隔內遇到的每個錯誤代碼,都會顯示一個資料列。成功的要求會將錯誤代碼設為 NULL。如果在特定時間範圍內沒有任何資料串流至資料表,則該資料表的對應時間戳記就不會顯示任何資料列。

INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_* 檢視畫面具有下列結構定義:

資料欄名稱 資料類型
start_timestamp TIMESTAMP (分區欄) 匯總統計資料的 1 分鐘間隔開始時間戳記。
project_id STRING (叢集欄) 專案 ID。
project_number INTEGER 專案編號。
dataset_id STRING (叢集資料欄) 資料集 ID。
table_id STRING 表格 ID(叢集欄)
error_code STRING 此列指定要求傳回的錯誤代碼。成功要求的值為 NULL。
total_requests INTEGER 1 分鐘間隔內的要求總數。
total_rows INTEGER 1 分鐘內所有要求的總列數。
total_input_bytes INTEGER 1 分鐘間隔內所有資料列的位元組總數。

資料保留

這個檢視畫面包含過去 180 天的串流記錄。

範圍和語法

對這個檢視表執行的查詢必須包含區域限定詞。如果未指定區域限定詞,系統會從所有區域擷取中繼資料。下表說明此檢視區域範圍:

檢視表名稱 資源範圍 區域範圍
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER 包含指定專案的資料夾 REGION
替換下列內容:
  • 選用:PROJECT_ID: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。
  • REGION:任一資料集區域名稱。例如:`region-us`

示例

  • 如要查詢美國多區域中的資料,請使用 region-us.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
  • 如要查詢歐盟多區域中的資料,請使用 region-eu.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
  • 如要查詢 asia-northeast1 地區的資料,請使用 region-asia-northeast1.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER

如需可用地區的清單,請參閱「資料集位置」。

範例

示例 1:最近的串流失敗

以下範例會計算過去 30 分鐘內專案資料夾中所有資料表的總失敗要求,並按錯誤代碼細分每分鐘的數量:

SELECT
  start_timestamp,
  error_code,
  SUM(total_requests) AS num_failed_requests
FROM
  `region-us`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
WHERE
  error_code IS NOT NULL
  AND start_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 30 MINUTE)
GROUP BY
  start_timestamp,
  error_code
ORDER BY
  start_timestamp DESC;

結果大致如下:

+---------------------+------------------+---------------------+
|   start_timestamp   |    error_code    | num_failed_requests |
+---------------------+------------------+---------------------+
| 2020-04-15 20:55:00 | INTERNAL_ERROR   |                  41 |
| 2020-04-15 20:41:00 | CONNECTION_ERROR |                   5 |
| 2020-04-15 20:30:00 | INTERNAL_ERROR   |                 115 |
+---------------------+------------------+---------------------+
範例 2:每分鐘的細部資料 (所有要求,含錯誤代碼)

以下範例會計算專案資料夾中成功和失敗的串流要求,並按錯誤代碼類別細分。這項查詢可用於填入資訊主頁。

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 ('QUOTA_EXCEEDED', 'RATE_LIMIT_EXCEEDED'),
      total_requests,
      0)) AS quota_error,
  SUM(
    IF(
      error_code IN (
        'INVALID_VALUE', 'NOT_FOUND', 'SCHEMA_INCOMPATIBLE',
        'BILLING_NOT_ENABLED', 'ACCESS_DENIED', 'UNAUTHENTICATED'),
      total_requests,
      0)) AS user_error,
  SUM(
    IF(
      error_code IN ('CONNECTION_ERROR','INTERNAL_ERROR'),
      total_requests,
      0)) AS server_error,
  SUM(IF(error_code IS NULL, 0, total_requests)) AS total_error,
FROM
  `region-us`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
GROUP BY
  start_timestamp
ORDER BY
  start_timestamp DESC;

結果大致如下:

+---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
|   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 |
+---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
範例 3:有最多入站流量的資料表

以下範例會針對專案資料夾中流量最多的 10 個資料表傳回串流統計資料:

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.STREAMING_TIMELINE_BY_FOLDER
GROUP BY
  project_id,
  dataset_id,
  table_id
ORDER BY
  num_bytes DESC
LIMIT 10;

結果大致如下:

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