BigQuery テーブル作成画面の設定項目詳細

BigQueryテーブルを作成する際には、データのソース、テーブルの識別情報、スキーマ、そしてパフォーマンスとコスト効率を高めるための各種設定を行います。

1. テーブルの作成元 [必須]

どのような方法でテーブルを作成し、データをロードするかを指定します。

選択肢
空のテーブルスキーマを定義し、空のテーブルを作成します。後でデータをロードします
アップロードローカルファイル(CSV, JSONL, Parquet, ORCなど)から直接データをアップロードしてテーブルを作成します
Cloud StorageCloud Storageバケットに保存されたファイルからデータをロードしてテーブルを作成します
ドライブGoogle Driveに保存されたファイルからデータをロードしてテーブルを作成します
Google BigtableGoogle Cloud BigtableインスタンスのデータをBigQueryの外部テーブルとして参照します
Amazon S3Amazon S3バケットに保存されているデータをBigQueryの外部テーブルとして参照します。これは「BigQuery Omni」という機能の一部です。BigQuery Omniは、BigQueryの分析エンジンがGoogle Cloud外(AWSやAzure)のデータを直接クエリできるサービスです
Azure Blob StorageAzure Blob Storageに保存されているデータをBigQueryの外部テーブルとして参照します。これも「BigQuery Omni」による機能です
既存のテーブル / ビュー既存のBigQueryテーブルまたはビューのスキーマとデータ(選択した場合)をコピーして、新しいテーブルを作成します

2. プロジェクト [必須]

テーブルを作成するGoogle CloudプロジェクトのIDです

3. データセット [必須]

テーブルを作成するデータセットのIDです。データセットは、関連するテーブルをまとめる論理的なグループです。
既存のデータセットから選択するか、または新しいデータセットを作成することができます。

4. テーブル [必須]

作成するテーブルの一意な名前です。

用途

SQLクエリでテーブルを指定する際に使用します(例: project_id.dataset_id.table_id

5. テーブルタイプ (Table type)

作成するテーブルの具体的な種類を指定します

選択肢
ネイティブテーブルBigQueryのマネージドストレージにデータを保存する標準的なテーブルです
外部テーブルBigQueryのストレージではなく、Cloud Storageなどの外部ソースにデータが保存されているテーブルです。BigQueryは外部ソースを直接参照します

6. Apache Iceberg 用の BigQuery テーブルを作成する

このオプションは、BigQueryがApache Iceberg形式のテーブルと連携するためのものです。Apache Icebergは、大規模なデータレイクのためのオープンソースのテーブル形式です

用途

Cloud StorageなどのデータレイクにIceberg形式で保存されたデータをBigQueryから直接クエリしたい場合に選択します。これにより、BigQueryの強力な分析機能とデータレイクの柔軟性を組み合わせることができます。

注意点

通常のBigQueryのネイティブテーブルとは異なり、外部ストレージにIceberg形式でデータが格納されていることを前提とします。

7. テキストとして編集

テーブルのスキーマをJSON形式のテキストとして直接入力・編集できるようにします。

用途

多数の列がある場合や、複雑なデータ型(STRUCT, ARRAY)を含むスキーマを定義する場合に便利です。手動でフィールドを追加するよりも効率的です。

8. パーティショニング設定

大規模なテーブルのデータを、指定した列の値や取り込み時間に基づいて、より小さなセグメント(パーティション)に分割します。これにより、クエリのパフォーマンスを向上させ、コストを削減できます。

選択肢
パーティショニングなしテーブル全体が1つのまとまりとして扱われます。小規模なテーブルに適しています
取り込み時間により分割BigQueryにデータがロードされた日付に基づいてテーブルをパーティション分割します。タイムスタンプ列がないデータにも適用できます
フィールドにより分割テーブル内のフィールドに基づいてパーティション分割します

パーティショニングフィルタ – データのクエリでWHERE句を必須にする

このオプションを有効にすると、このパーティション分割されたテーブルにクエリを実行する際に、必ずパーティション列(または取り込み時間)をWHERE句で指定することを強制します。

パーティショニングタイプ

パーティションの細かさ(粒度)を指定します。日次、月次、年次、または時間ごとのパーティションなど。

9. クラスタリングの順序

テーブル内のデータを1つ以上の列(クラスタリング列)に基づいて物理的に並べ替える機能です。

用途

  • クエリパフォーマンスの向上: WHERE句でクラスタリング列を使用するクエリのパフォーマンスが向上します。BigQueryは、不要なブロックを読み取らずに、関連するデータブロックに直接アクセスできます。
  • コスト削減: スキャンするデータ量が減るため、クエリのコストを削減できます。

タイトルとURLをコピーしました