WRITE_API_TIMELINE_BY_FOLDER ビュー
INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
ビューには、現在のプロジェクトの親フォルダ(サブフォルダを含む)に対する BigQuery Storage Write API 取り込みについて 1 分ごとに集計された統計情報が含まれます。
INFORMATION_SCHEMA
Write API ビューにクエリを実行すると、BigQuery Storage Write API による BigQuery へのデータ取り込みに関する履歴情報とリアルタイム情報を取得できます。詳細については、BigQuery Storage Write API をご覧ください。
必要な権限
INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
ビューをクエリするには、プロジェクトの親フォルダに対する bigquery.tables.list
Identity and Access Management(IAM)権限が必要です。
次の各 IAM 事前定義ロールには、上の権限が含まれています。
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.metadataViewer
roles/bigquery.resourceAdmin
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA
BigQuery Storage Write API ビューにクエリを実行すると、クエリ結果には、BigQuery Storage Write API による BigQuery へのデータ取り込みに関する履歴情報とリアルタイムの情報が含まれます。次のビューの各行は、特定のテーブルへの取り込みの統計情報を表します(集計は start_timestamp
から始まり、1 分ごとに実行されています)。統計情報はストリーム タイプとエラーコードでグループ化されます。このめた、タイムスタンプとテーブルの組み合わせに対して、ストリーム タイプと 1 分間隔で検出されたエラーコードごとに 1 行が生成されます。リクエストに成功すると、エラーコードは OK
に設定されます。特定の期間中にテーブルにデータが取り込まれなかった場合、そのテーブルに対応するタイムスタンプの行は存在しません。
INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_*
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
start_timestamp |
TIMESTAMP |
(パーティショニング列)集計された統計情報の 1 分ごとの開始タイムスタンプ。 |
project_id |
STRING |
(クラスタリング列)プロジェクトの ID。 |
project_number |
INTEGER |
プロジェクトの番号。 |
dataset_id |
STRING |
(クラスタリング列)データセットの ID。 |
table_id |
STRING |
(クラスタリング列)テーブルの ID。 |
stream_type |
STRING |
BigQuery Storage Write API を使用したデータの取り込みで使用されるストリームの種類。DEFAULT、COMMITTED、BUFFERED、PENDING のいずれかになります。 |
error_code |
STRING |
この行で指定されたリクエストに対して返されるエラーコード。リクエストが成功した場合は「OK」です。 |
total_requests |
INTEGER |
1 分間ごとのすべてのリクエストの合計数。 |
total_rows |
INTEGER |
1 分間ごとのすべてのリクエストの合計行数。 |
total_input_bytes |
INTEGER |
1 分間ごとのすべての行からの合計バイト数。 |
データの保持
このビューには、過去 180 日間の BigQuery Storage Write API 取り込みの履歴が表示されます。
スコープと構文
このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータはすべてのリージョンで取得されます。次の表で、このビューのリージョン スコープを説明します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER |
指定したプロジェクトを含むフォルダ | REGION |
- 省略可:
PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
REGION
: 任意のデータセット リージョン名。例:`region-us`
例
- 米国マルチリージョンのデータに対してクエリを実行するには、
region-us.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
を使用します。 - EU マルチリージョンのデータに対してクエリを実行するには、
region-eu.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
を使用します。 - asia-northeast1 リージョンのデータに対してクエリを実行するには、
region-asia-northeast1.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER
を使用します。
使用可能なリージョンの一覧については、データセットのロケーションをご覧ください。
例
例 1: 最近の BigQuery Storage Write API の取り込みエラー
次の例では、過去 30 分間にプロジェクトのフォルダ内の全テーブルで失敗したリクエストの合計数に対し 1 分ごとの内訳を計算して、ストリームの種類とエラーコードごとに分類します。
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;
次のような結果になります。
+---------------------+-------------+------------------+---------------------+ | 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 | +---------------------+-------------+------------------+---------------------+
例 2: エラーコードを含むすべてのリクエストの 1 分あたりの内訳
次の例では、プロジェクトのフォルダ内の成功した追加リクエストと失敗した追加リクエストの 1 分あたりの内訳を計算し、エラーコードのカテゴリごとに分類します。このクエリを使用してダッシュボードにデータを入力できます。
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;
次のような結果になります。
+---------------------+----------------+------------+-------------------+------------+--------------+-------------+ | 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 | +---------------------+----------------+------------+-------------------+------------+--------------+-------------+
例 3: 受信トラフィックが最も多いテーブル
次の例では、プロジェクトのフォルダで受信トラフィックが最も多い 10 個のテーブルに対する BigQuery Storage Write API の取り込み統計情報を返します。
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;
次のような結果になります。
+----------------------+------------+-------------------------------+------------+----------------+--------------+ | 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 | +----------------------+------------+-------------------------------+------------+----------------+--------------+