MATERIALIZED_VIEWS ビュー
INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューには、マテリアライズド ビューのステータスが含まれます。
必要な権限
    
      INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューにクエリを実行するために必要な権限を取得するには、プロジェクトまたはデータセットに対する BigQuery メタデータ閲覧者(roles/bigquery.metadataViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
      
        
          この事前定義ロールには、INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューにクエリを実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューにクエリを実行するには、次の権限が必要です。
- 
                  
bigquery.tables.get - 
                  
bigquery.tables.list 
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。スキーマ
INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューにクエリを実行すると、データセット内の各マテリアライズド ビューに関する情報が 1 行ずつ表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
table_catalog | 
      STRING | 
      データセットを含むプロジェクトの名前。projectId と参照されることもあります。 | 
    
table_schema | 
      STRING | 
      マテリアライズド ビューを含むデータセットの名前。datasetId と参照されることもあります。 | 
    
table_name | 
      STRING | 
      マテリアライズド ビューの名前。tableId と参照されることもあります。 | 
    
last_refresh_time | 
      TIMESTAMP | 
      このマテリアライズド ビューが最後に更新された時刻。 | 
refresh_watermark | 
      TIMESTAMP | 
      マテリアライズド ビューの更新ウォーターマーク。現時点までのマテリアライズド ビューのベーステーブルに含まれるデータは、マテリアライズド ビューのキャッシュに含まれます。 | 
last_refresh_status | 
      RECORD | 
      最後の自動更新ジョブのエラー結果(ErrorProto オブジェクト)。これが存在する場合は、最後の自動更新が失敗したことを示します。 | 
スコープと構文
このビューに対するクエリでは、データセット修飾子またはリージョン修飾子を指定する必要があります。データセット修飾子が指定されたクエリの場合は、データセットに対する権限が必要です。リージョン修飾子が指定されたクエリの場合は、プロジェクトに対する権限が必要です。詳細については、構文をご覧ください。次の表に、このビューのリージョン スコープとリソース スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.MATERIALIZED_VIEWS | 
  プロジェクト レベル | REGION | 
  
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.MATERIALIZED_VIEWS | 
  データセット レベル | データセットのロケーション | 
- 
  省略可: 
PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。 - 
  
REGION: 任意のデータセット リージョン名。例:`region-us` - 
  
DATASET_ID: データセットの ID。詳しくは、データセット修飾子をご覧ください。 
次に例を示します。
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;
例
例 1:
次の例では、すべての異常なマテリアライズド ビューを INFORMATION_SCHEMA.MATERIALIZED_VIEWS ビューから取得します。デフォルト プロジェクト(myproject)の mydataset にある、非 NULL の last_refresh_status 値を持つマテリアライズド ビューが返されます。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、`project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS の形式でそのプロジェクト ID をデータセットに追加します。たとえば、`myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS です。
SELECT table_name, last_refresh_status FROM mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS WHERE last_refresh_status IS NOT NULL;
次のような結果になります。
  +---------------+---------------------------------------------------------------------+
  |  table_name   |                        last_refresh_status                          |
  +---------------------------------------------------------------------+---------------+
  |  myview       |   {"reason":"invalidQuery","location":"query","message":"..."}      |
  +---------------------------------------------------------------------+---------------+
  例 2:
次の例では、デフォルト プロジェクト(myproject)の mydataset にあるマテリアライズド ビュー myview の last_refresh_time と refresh_watermark を取得します。結果には、マテリアライズドが最後に更新された日時と、ベーステーブルのデータがマテリアライズド ビューのキャッシュに収集された日時が表示されます。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、`project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS の形式でそのプロジェクト ID をデータセットに追加します。たとえば、`myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS です。
SELECT table_name, last_refresh_time, refresh_watermark FROM mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS WHERE table_name = 'myview';
次のような結果になります。
+---------------+------------------------------------------------+ | table_name | last_refresh_time | refresh_watermark | +---------------+------------------------------------------------+ | myview | 2023-02-22 19:37:17 | 2023-03-08 16:52:57 | +---------------+------------------------------------------------+