ビューの概要
ビューは SQL クエリによって定義される仮想テーブルです。ビューの作成後は、テーブルをクエリするのと同じ方法でビューをクエリします。ユーザーがビューをクエリすると、クエリ結果には、ビューを定義するクエリで指定されたテーブルとフィールドのデータのみが含まれます。
BigQuery でビューをクエリするには、次の方法を使用します。
- Cloud Console の [クエリエディタ] ボックス
bq
コマンドライン ツールのbq query
コマンド- プログラムによって
jobs.query
またはクエリ形式のjobs.insert
メソッドを呼び出す BigQuery REST API - BigQuery クライアント ライブラリ
ビューは、Google データポータルなどの可視化ツールのデータソースとして使用することもできます。
ビューの制限
BigQuery ビューには次の制限があります。
- ビューは読み取り専用です。ビューに対して DML(挿入、更新、削除)クエリは実行できません。
- ビューを含むデータセットと、そのビューによって参照されているテーブルを含むデータセットは、同じロケーションに存在する必要があります。
- ビューからデータをエクスポートする BigQuery ジョブは実行できません。
TableDataList
JSON API メソッドを使用してビューからデータを取得することはできません。詳細については、Tabledata: list をご覧ください。- ビューを使用するときは、標準 SQL クエリとレガシー SQL クエリを併用できません。標準 SQL クエリでは、レガシー SQL 構文で定義したビューを参照できません。
- ビューでクエリ パラメータを参照することはできません。
- ビューを作成すると、元のテーブルのスキーマがビューと一緒に保存されます。ビューの作成後に列を追加、削除、または変更を行うと、ビューを更新するまでは正確なスキーマが報告されません。報告されるスキーマが正確でない場合でも、送信されたクエリは正しい結果を出力します。
- レガシー SQL ビューを標準 SQL 構文に自動的に更新することはできません。ビューの定義に使用されるクエリを変更するには、次のコマンドを使用します。
- Cloud コンソールの [クエリを編集] オプション
bq
コマンドライン ツールのbq update --view
コマンド- BigQuery クライアント ライブラリ
- update API メソッドまたは patch API メソッド。
- ビューを定義する SQL クエリに一時的なユーザー定義関数と、一時テーブルを含めることはできません。
- ワイルドカード テーブル クエリでビューを参照することはできません。
ビューの割り当て
ビューに適用される割り当てと制限については、ビューの制限をご覧ください。
ビューの定義に使用する SQL クエリにもクエリジョブの割り当てが適用されます。
ビューの料金
BigQuery のビューは論理ビューです。マテリアライズド ビューではありません。実体化されたビューではないため、ビューを照会するたびに、ビューを定義しているクエリが実行されます。クエリは、トップレベル クエリで直接または間接的に参照される全テーブル フィールドの合計データ量に基づいて課金されます。詳細については、クエリの料金をご覧ください。
ビューのセキュリティ
BigQuery でビューへのアクセスを制御するには、ビューへのアクセスの制御をご覧ください。
次のステップ
- ビューの作成方法については、ビューの作成をご覧ください。
- 承認済みビューの作成方法については、承認済みビューの作成をご覧ください。
- ビューの一覧表示の詳細については、ビューの一覧表示をご覧ください。
- ビューのメタデータを取得する方法については、ビューの情報の取得をご覧ください。
- ビューを更新する方法については、ビューの更新をご覧ください。
- ビューの管理の詳細については、ビューの管理をご覧ください。