TABLE_OPTIONS ビュー
INFORMATION_SCHEMA.TABLE_OPTIONS
ビューには、データセット内のテーブルまたはビューごとに、各オプションに対して 1 行が表示されます。TABLES
ビューと TABLE_OPTIONS
ビューには、ビューに関する概要情報も含まれています。詳細情報を取得するには、INFORMATION_SCHEMA.VIEWS
ビューに対してクエリを実行します。
必要な権限
INFORMATION_SCHEMA.TABLE_OPTIONS
ビューをクエリするには、次の Identity and Access Management(IAM)権限が必要です。
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
次の各 IAM 事前定義ロールには、上の権限が含まれています。
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.TABLE_OPTIONS
ビューにクエリを実行すると、クエリ結果として、データセット内のテーブルまたはビューごとに、各オプションに対して 1 行が表示されます。ビューの詳細情報を取得するには、INFORMATION_SCHEMA.VIEWS
ビューに対してクエリを実行します。
INFORMATION_SCHEMA.TABLE_OPTIONS
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
TABLE_CATALOG |
STRING |
データセットを含むプロジェクトのプロジェクト ID |
TABLE_SCHEMA |
STRING |
datasetId とも呼ばれる、テーブルやビューを含むデータセットの名前 |
TABLE_NAME |
STRING |
テーブルまたはビューの名前(tableId とも呼ばれる) |
OPTION_NAME |
STRING |
オプション テーブル内の名前値の 1 つ |
OPTION_TYPE |
STRING |
オプション テーブルのデータ型の値の 1 つ |
OPTION_VALUE |
STRING |
オプション テーブルの値オプションの 1 つ |
オプション テーブル
|
|
|
---|---|---|
|
|
テーブルの説明 |
|
|
マテリアライズド ビューで自動更新が有効にされているかどうか |
|
|
このテーブルの有効期限 |
|
|
テーブルのわかりやすい名前 |
|
|
テーブルの暗号化に使用される Cloud KMS 鍵の名前 |
|
|
テーブルのラベルを表す STRUCT の配列 |
|
|
パーティション分割テーブルのすべてのパーティションのデフォルトの存続期間(日数) |
|
|
マテリアライズド ビューが更新される頻度 |
|
|
テーブルに対するクエリでパーティション フィルタが必要かどうか |
|
|
名前空間付きの <key, value> 構文でテーブルに適用されるタグ。詳細については、タグと条件付きアクセスをご覧ください。 |
外部テーブルの場合、次のオプションを使用できます。
オプション | |
---|---|
allow_jagged_rows |
CSV データに適用されます。 |
allow_quoted_newlines |
CSV データに適用されます。 |
bigtable_options |
Bigtable 外部テーブルを作成する場合にのみ必要です。 Bigtable 外部テーブルのスキーマを JSON 形式で指定します。 Bigtable テーブル定義オプションの一覧については、REST API リファレンスの |
column_name_character_map |
列名でサポートされている文字の範囲と、サポートされていない文字の処理方法を定義します。デフォルト設定は 次の値がサポートされています。
CSV データと Parquet データに適用されます。 |
compression |
データソースの圧縮タイプ。サポートされる値: CSV データと JSON データに適用されます。 |
decimal_target_types |
例: |
description |
このテーブルの説明。 |
enable_list_inference |
Parquet データに適用されます。 |
enable_logical_types |
Avro データに適用されます。 |
encoding |
データの文字エンコード。サポートされている値: CSV データに適用されます。 |
enum_as_string |
Parquet データに適用されます。 |
expiration_timestamp |
このテーブルの有効期限。指定しない場合、テーブルは期限切れになりません。 例: |
field_delimiter |
CSV ファイル内のフィールド区切り文字。 CSV データに適用されます。 |
format |
外部データの形式。
値 |
hive_partition_uri_prefix |
パーティション キーのエンコードを開始する前のすべてのソース URI の一般的なプレフィックス。Hive パーティション分割された外部テーブルにのみ適用されます。 Avro、CSV、JSON、Parquet、ORC のデータに適用されます。 例: |
file_set_spec_type |
読み込みジョブと外部テーブルのソース URI の解釈方法を指定します。 次の値がサポートされています。
たとえば、ソース URI が |
ignore_unknown_values |
CSV データと JSON データに適用されます。 |
json_extension |
JSON データの場合、特定の JSON 置換形式を指定します。指定しない場合、BigQuery はデータを汎用 JSON レコードとして読み取ります。 サポートされる値は、次のとおりです。 |
max_bad_records |
データの読み取り時に無視する不良レコードの最大数。 適用対象: CSV、JSON、Google スプレッドシートのデータ。 |
max_staleness |
BigLake テーブルとオブジェクト テーブルに適用されます。 キャッシュに保存されたメタデータをテーブルに対するオペレーションで使用するかどうかを指定します。また、オペレーションで使用できるキャッシュ内のメタデータの鮮度を指定します。 メタデータのキャッシュ保存を無効にするには、0 を指定します。これがデフォルトです。 メタデータ キャッシュを有効にするには、30 分から 7 日の間で間隔リテラルの値を指定します。たとえば、4 時間の未更新間隔の場合、 |
null_marker |
CSV ファイル内の CSV データに適用されます。 |
object_metadata |
オブジェクト テーブルを作成する場合にのみ必要です。 オブジェクト テーブルの作成時に、このオプションの値を |
preserve_ascii_control_characters |
CSV データに適用されます。 |
projection_fields |
読み込むエンティティ プロパティのリスト。 Datastore データに適用されます。 |
quote |
CSV ファイルのデータ セクションを引用するために使用される文字列。データに引用符で囲まれた改行文字が含まれている場合は、 CSV データに適用されます。 |
reference_file_schema_uri |
テーブル スキーマを含む、ユーザー指定の参照ファイル。 Parquet/ORC/AVRO データに適用されます。 例: |
require_hive_partition_filter |
Avro、CSV、JSON、Parquet、ORC のデータに適用されます。 |
sheet_range |
クエリの対象となる Google スプレッドシートの範囲。 Google スプレッドシートのデータに適用されます。 例: |
skip_leading_rows |
データを読み取る際にスキップするファイルの先頭行の数。 CSV データと Google スプレッドシートのデータに適用されます。 |
uris |
Bigtable テーブルではない、オブジェクト テーブルを含む外部テーブルの場合は、次のようになります。
外部データのロケーションの完全修飾 URI の配列。各 URI に 1 つのアスタリスク( 次の例に、有効な
Bigtable テーブルの場合は、次のようになります。
データソースとして使用する Bigtable テーブルを識別する URI。Bigtable URI は 1 つのみ指定できます。 例:
Bigtable URI の作成の詳細については、Bigtable URI を取得するをご覧ください。 |
スコープと構文
このビューに対するクエリでは、データセット修飾子またはリージョン修飾子を指定する必要があります。データセット修飾子が指定されたクエリの場合は、データセットに対する権限が必要です。リージョン修飾子が指定されたクエリの場合は、プロジェクトに対する権限が必要です。詳細については、構文をご覧ください。次の表に、このビューのリージョン スコープとリソース スコープを示します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
プロジェクト レベル | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
データセット レベル | データセットのロケーション |
省略可: PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
REGION
: 任意のデータセット リージョン名。例:`region-us`
DATASET_ID
: データセットの ID詳しくは、データセット修飾子をご覧ください。
例
例 1:
次の例では、INFORMATION_SCHEMA.TABLE_OPTIONS
ビューにクエリを実行して、デフォルト プロジェクト(myproject
)にある mydataset
の全テーブルのデフォルトのテーブル有効期限を取得します。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、`project_id`.dataset.INFORMATION_SCHEMA.view
の形式でそのプロジェクト ID をデータセットに追加します。たとえば、`myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
です。
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
次のような結果になります。
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | myproject | mydataset | mytable1 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2020-01-16T21:12:28.000Z" | | myproject | mydataset | mytable2 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2021-01-01T21:12:28.000Z" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
例 2:
次の例では、mydataset
内のすべてのテーブルから、テストデータを含むテーブルを絞り込んでそのメタデータを取得します。このクエリでは、説明に「test」が含まれているテーブルを見つけるために description
オプションの値を使用します。mydataset
はデフォルト プロジェクト(myproject
)にあります。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、`project_id`.dataset.INFORMATION_SCHEMA.view
の形式でそのプロジェクト ID をデータセットに追加します。たとえば、`myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
です。
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
次のような結果になります。
+----------------+---------------+------------+-------------+-------------+--------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+-------------+-------------+--------------+ | myproject | mydataset | mytable1 | description | STRING | "test data" | | myproject | mydataset | mytable2 | description | STRING | "test data" | +----------------+---------------+------------+-------------+-------------+--------------+