BigQuery テーブルでは、個々のレコードが行の形式にまとめられています。各レコードは列(フィールドとも呼ばれる)で構成されています。
すべてのテーブルは、列名、データ型、その他の情報を記述するスキーマによって定義されます。テーブルのスキーマはテーブルの作成時に指定できます。あるいは、スキーマなしでテーブルを作成し、クエリジョブまたは読み込みジョブでスキーマを宣言してテーブルにデータを取り込むこともできます。
BigQuery は次のテーブルタイプをサポートしています。
- ネイティブ テーブル: ネイティブ BigQuery ストレージでサポートされるテーブルです。
- 外部テーブル: BigQuery の外部にあるストレージでサポートされるテーブルです。詳細については、外部データソースへのクエリをご覧ください。
- ビュー: SQL クエリによって定義される仮想テーブルです。詳細については、ビューの作成をご覧ください。
テーブルの制限事項
BigQuery テーブルには以下の制限があります。
- テーブル名はデータセットごとに一意である必要があります。
- Cloud Console では、一度に 1 つのテーブルのみをコピーできます。
- テーブルをコピーするとき、コピー先データセットはコピー元テーブルと同じロケーションに存在する必要があります。たとえば、EU にあるデータセットから US にあるデータセットにテーブルをコピーできません。
bq
コマンドライン ツール、API、またはクライアント ライブラリを使用して複数のソーステーブルを宛先テーブルにコピーするときは、すべてのソーステーブルのスキーマが同一である必要があります。- テーブルデータをエクスポートするとき、宛先にできるのは Cloud Storage のみです。
- API 呼び出しを使用する場合、データセット内のテーブル数が 50,000 件に近づくと、列挙のパフォーマンスが低下します。
- Cloud Console では、データセットごとに最大 50,000 件のテーブルを表示できます。
テーブルの割り当て
割り当てと制限は、テーブルに対して実行できる次のようなさまざまな種類のジョブに適用されます。
- テーブルへのデータの読み込み(読み込みジョブ)
- テーブルからのデータのエクスポート(エクスポート ジョブ)
- テーブルデータの照会(クエリジョブ)
- テーブルのコピー(コピージョブ)
すべての割り当てと制限の詳細については、割り当てと制限をご覧ください。
テーブルの料金
BigQuery でテーブルを作成して使用する場合、テーブルおよびパーティションに格納されるデータの量とデータに対して実行するクエリに基づいて、使用料が発生します。
データの読み込み、コピー、エクスポートなど、多くのテーブル オペレーションは無料です。これらのオペレーションは無料ですが、BigQuery の割り当てと上限が適用されます。すべての無料オペレーションについては、料金ページの無料のオペレーションをご覧ください。
次のステップ
- テーブルの作成と使用の詳細については、テーブルの作成と使用をご覧ください。
- テーブルの管理の詳細については、テーブルの管理をご覧ください。
- テーブル スキーマの変更の詳細については、テーブル スキーマの変更をご覧ください。
- テーブルデータの管理の詳細については、テーブルデータの管理をご覧ください。