データセットを作成する

このドキュメントでは、BigQuery でデータセットを作成する方法について説明します。

次の方法でデータセットを作成できます。

  • Google Cloud コンソールを使用する。
  • SQL クエリを使用する。
  • bq コマンドライン ツールの bq mk コマンドを使用する。
  • datasets.insert API メソッドを呼び出す。
  • クライアント ライブラリを使用する。
  • 既存のデータセットをコピーする。

データセットをコピーする手順(リージョン間でのコピーを含む)については、データセットのコピーをご覧ください。

このドキュメントでは、BigQuery にデータを保存する通常のデータセットを操作する方法について説明します。Spanner 外部データセットの操作方法については、Spanner 外部データセットを作成するをご覧ください。AWS Glue 連携データセットの操作方法については、AWS Glue 連携データセットを作成するをご覧ください。

一般公開データセット内のテーブルをクエリする方法については、 Google Cloud コンソールを使用して一般公開データセットに対してクエリを実行するをご覧ください。

データセットの制限事項

BigQuery データセットには次の制限があります。

  • データセットのロケーションは、作成時にのみ設定できます。データセットの作成後はそのロケーションを変更できません。
  • 1 つのクエリで参照されるすべてのテーブルは、同じロケーションにあるデータセット内に保存されている必要があります。
  • 外部データセットでは一部のオプションがサポートされていません。これには、大文字と小文字を区別しないテーブル名の有効化 / 無効化、テーブルの有効期限、レプリカ、タイムトラベル、デフォルトの照合順序、デフォルトの丸めモードが含まれます。

  • テーブルをコピーする場合、コピー元とコピー先のテーブルが同じロケーションに存在する必要があります。

  • データセット名は各プロジェクトで一意である必要があります。

  • データセットのストレージ課金モデルを変更した後で、再度変更するには、14 日間待つ必要があります。

  • データセットと同じリージョンに既存の定額制スロット コミットメントがある場合、データセットを物理ストレージ課金に登録することはできません。

始める前に

このドキュメントの各タスクを実行するために必要な権限をユーザーに与える Identity and Access Management(IAM)のロールを付与します。

必要な権限

データセットを作成するには、bigquery.datasets.create IAM 権限が必要です。

次の IAM 事前定義ロールには、データセットの作成に必要な権限が含まれています。

  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.user
  • roles/bigquery.admin

BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。

データセットを作成する

データセットを作成するには:

コンソール

  1. Google Cloud コンソールで [BigQuery] ページを開きます。
  2. [BigQuery] ページに移動
  3. [エクスプローラ] パネルで、データセットを作成するプロジェクトを選択します。
  4. [アクションを表示] オプションを開き、[データセットを作成] をクリックします。
  5. プロジェクトの操作メニューを使用して、データセットを作成します。
  6. [データセットを作成] ページで次の操作を行います。
    1. [データセット ID] に、データセットの一意の名前を入力します。
    2. [ロケーション タイプ] で、データセットの地理的なロケーションを選択します。データセットの作成後にロケーションを変更することはできません。
    3. 省略可: 外部データセットを作成する場合は、[外部データセットへのリンク] を選択します。
    4. タグやテーブルの有効期限などの追加オプションを構成する必要がない場合は、[データセットを作成] をクリックします。それ以外の場合は、次のセクションを開いて、追加のデータセット オプションを構成します。

    データセットのその他のオプション

    1. 省略可: [タグ] セクションを開いて、データセットにタグを追加します。
    2. 既存のタグを適用する手順は次のとおりです。
      1. [スコープの選択] の横にあるプルダウン矢印をクリックし、[現在の対象] - [現在の組織を選択] または [現在のプロジェクトを選択] を選択します。
      2. または、[スコープの選択] をクリックして、リソースを検索するか、現在のリソースのリストを表示します。

      3. [キー 1] と [値 1] で、リストから適切な値を選択します。
    3. 新しいタグを手動で入力する手順は次のとおりです。
      1. [スコープを選択] の横にあるプルダウン矢印をクリックし、[ID を手動で入力] > [組織]、[プロジェクト]、または [タグ] を選択します。
      2. プロジェクトまたは組織のタグを作成する場合は、ダイアログで PROJECT_ID または ORGANIZATION_ID を入力し、[保存] をクリックします。
      3. [キー 1] と [値 1] で、リストから適切な値を選択します。
      4. テーブルにタグを追加するには、[タグを追加] をクリックして、前の手順に沿って操作します。
    4. 省略可: [詳細オプション] セクションを開き、次のオプションのうち 1 つ以上を構成します。
      1. Cloud Key Management Service で独自の暗号鍵を使用するように [暗号化] オプションを変更するには、[Cloud KMS 鍵] を選択します。
      2. 大文字と小文字を区別しないテーブル名を使用するには、[大文字と小文字を区別しないテーブル名を有効にする] を選択します。
      3. デフォルトの照合仕様を変更するには、リストから照合タイプを選択します。
      4. データセット内のテーブルの有効期限を設定するには、[テーブルの有効期限を有効にする] を選択し、[デフォルトのテーブル最長存続期間] を日数で指定します。
      5. デフォルトの丸めモードを設定するには、リストから丸めモードを選択します。
      6. 物理ストレージの課金モデルを有効にするには、リストから課金モデルを選択します。
      7. データセットの課金モデルを変更した場合は、変更が反映されるまでに 24 時間を要します。

        データセットのストレージ課金モデルを変更した後、再度ストレージ課金モデルを変更するには、14 日間お待ちいただく必要があります。

      8. データセットのタイムトラベル期間を設定するには、リストから期間のサイズを選択します。
    5. [データセットを作成] をクリックします。

SQL

CREATE SCHEMA ステートメントを使用します。

デフォルト プロジェクト以外のプロジェクト内にデータセットを作成するには、PROJECT_ID.DATASET_ID の形式でそのプロジェクト ID をデータセット ID に追加します。

  1. Google Cloud コンソールで、[BigQuery] ページに移動します。

    [BigQuery] に移動

  2. クエリエディタで次のステートメントを入力します。

    CREATE SCHEMA PROJECT_ID.DATASET_ID
      OPTIONS (
        default_kms_key_name = 'KMS_KEY_NAME',
        default_partition_expiration_days = PARTITION_EXPIRATION,
        default_table_expiration_days = TABLE_EXPIRATION,
        description = 'DESCRIPTION',
        labels = [('KEY_1','VALUE_1'),('KEY_2','VALUE_2')],
        location = 'LOCATION',
        max_time_travel_hours = HOURS,
        storage_billing_model = BILLING_MODEL);

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • DATASET_ID: 作成するデータセットの ID
    • KMS_KEY_NAME: 作成時に別の鍵が指定されていない限り、このデータセットで新しく作成されたテーブルの保護に使用されるデフォルトの Cloud Key Management Service 鍵の名前です。このパラメータが設定されたデータセットには、Google 暗号化テーブルを作成できません。
    • PARTITION_EXPIRATION: 新しく作成されるパーティション分割テーブルのパーティションのデフォルトの存続期間(日数)です。デフォルトのパーティション有効期限には最小値はありません。パーティションの日付にこの整数値を足した値が有効期限になります。データセット内のパーティション分割テーブルに作成されたパーティションは、パーティションの日付から PARTITION_EXPIRATION 日後に削除されます。パーティション分割テーブルの作成時または更新時に time_partitioning_expiration フラグを指定した場合、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。
    • TABLE_EXPIRATION: 新しく作成されるテーブルのデフォルトの存続期間(日数)。最小値は 0.042 日(1 時間)です。現在時刻にこの整数値を足した値が有効期限になります。データセット内に作成されたテーブルは、作成時点から TABLE_EXPIRATION 日後に削除されます。この値は、テーブルの作成時にテーブルの有効期限を設定しなかった場合に適用されます。
    • DESCRIPTION: データセットの説明
    • KEY_1:VALUE_1: このデータセットの最初のラベルとして設定する Key-Value ペア
    • KEY_2:VALUE_2: 2 番目のラベルとして設定する Key-Value ペア
    • LOCATION: データセットのロケーション。データセットの作成後はロケーションを変更できません。
    • HOURS: 新しいデータセットのタイムトラベル期間の長さ(時間)。HOURS 値は、24 の倍数(48、72、96、120、144、168)であり、48(2 日)~168(7 日)の範囲にする必要があります。このオプションを指定しない場合のデフォルトは 168 時間です。
    • BILLING_MODEL: データセットのストレージ課金モデルを設定します。ストレージ料金の計算時に物理バイトを使用する場合は BILLING_MODEL 値を PHYSICAL に設定し、論理バイトを使用する場合は LOGICAL に設定します。デフォルトは LOGICAL です。

      データセットの課金モデルを変更した場合は、変更が反映されるまでに 24 時間を要します。

      データセットのストレージ課金モデルを変更した後、再度ストレージ課金モデルを変更するには、14 日間お待ちいただく必要があります。

  3. [実行] をクリックします。

クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。

bq

新しいデータセットを作成するには、--location フラグを指定した bq mk コマンドを使用します。使用可能なパラメータの一覧については、bq mk --dataset コマンドのリファレンスをご覧ください。

デフォルト プロジェクト以外のプロジェクト内にデータセットを作成するには、PROJECT_ID:DATASET_ID の形式でそのプロジェクト ID をデータセット名に追加します。

bq --location=LOCATION mk \
    --dataset \
    --default_kms_key=KMS_KEY_NAME \
    --default_partition_expiration=PARTITION_EXPIRATION \
    --default_table_expiration=TABLE_EXPIRATION \
    --description="DESCRIPTION" \
    --label=KEY_1:VALUE_1 \
    --label=KEY_2:VALUE_2 \
    --add_tags=KEY_3:VALUE_3[,...] \
    --max_time_travel_hours=HOURS \
    --storage_billing_model=BILLING_MODEL \
    PROJECT_ID:DATASET_ID

次のように置き換えます。

  • LOCATION: データセットのロケーション。データセットの作成後はロケーションを変更できません。ロケーションのデフォルト値は、.bigqueryrc ファイルを使用して設定できます。

  • KMS_KEY_NAME: 作成時に別の鍵が指定されていない限り、このデータセットで新しく作成されたテーブルの保護に使用されるデフォルトの Cloud Key Management Service 鍵の名前です。このパラメータが設定されたデータセットには、Google で暗号化されたテーブルを作成できません。

  • PARTITION_EXPIRATION: 新しく作成されるパーティション分割テーブルのパーティションのデフォルトの存続時間(秒)。デフォルトのパーティション有効期限には最小値はありません。パーティションの日付にこの整数値を足した値が有効期限になります。データセット内のパーティション分割テーブルに作成されたパーティションは、パーティションの日付から PARTITION_EXPIRATION 秒後に削除されます。パーティション分割テーブルの作成時または更新時に --time_partitioning_expiration フラグを指定した場合、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。

  • TABLE_EXPIRATION: 新しく作成されるテーブルのデフォルトの存続期間(秒)。最小値は 3,600 秒(1 時間)です。現在時刻にこの整数値を足した値が有効期限になります。データセット内に作成されたテーブルは、作成時点から TABLE_EXPIRATION 秒後に削除されます。この値が適用されるのは、テーブルの作成時にテーブルの有効期限を設定しなかった場合です。

  • DESCRIPTION: データセットの説明

  • KEY_1:VALUE_1: このデータセットに最初のラベルとして設定する Key-Value ペアです。KEY_2:VALUE_2 は、2 番目のラベルとして設定する Key-Value ペアです。

  • KEY_3:VALUE_3: データセットのタグとして設定する Key-Value ペアです。同じフラグで、各 Key-Value ペアをカンマで区切って複数のタグを追加できます。

  • HOURS: 新しいデータセットのタイムトラベル期間の長さ(時間)。HOURS 値は、24 の倍数(48、72、96、120、144、168)であり、48(2 日)~168(7 日)の範囲にする必要があります。このオプションを指定しない場合のデフォルトは 168 時間です。

  • BILLING_MODEL: データセットのストレージ課金モデルを設定します。ストレージの変更の計算時に物理バイトを使用する場合は BILLING_MODEL 値を PHYSICAL に設定し、論理バイトを使用する場合は LOGICAL に設定します。デフォルトは LOGICAL です。

    データセットの課金モデルを変更した場合は、変更が反映されるまでに 24 時間を要します。

    データセットのストレージ課金モデルを変更した後、再度ストレージ課金モデルを変更するには、14 日間お待ちいただく必要があります。

  • PROJECT_ID: プロジェクト ID。

  • DATASET_ID は、作成するデータセットの ID です。

たとえば、次のコマンドを実行すると mydataset という名前のデータセットが作成され、データのロケーションは US、デフォルトのテーブル存続期間は 3,600 秒(1 時間)、説明は This is my dataset に設定されます。このコマンドでは、--dataset フラグの代わりに -d ショートカットを使用しています。-d--dataset を省略した場合、このコマンドはデフォルトでデータセットを作成します。

bq --location=US mk -d \
    --default_table_expiration 3600 \
    --description "This is my dataset." \
    mydataset

データセットが作成されたことを確認するには、bq ls コマンドを入力します。また、新しいデータセットを作成するときに、bq mk -t dataset.table の形式を使用してテーブルを作成することもできます。テーブルの作成方法については、テーブルの作成をご覧ください。

Terraform

google_bigquery_dataset リソースを使用します。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。

データセットを作成する

次の例では、mydataset という名前のデータセットを作成します。

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
}

google_bigquery_dataset リソースを使用してデータセットを作成すると、プロジェクト レベルの基本ロールのメンバーであるすべてのアカウントに、データセットへのアクセス権が自動的に付与されます。データセットの作成後に terraform show コマンドを実行すると、データセットの access ブロックは次のようになります。

Terraform を使用して作成されたデータセットの access ブロック。

データセット内に承認済みビューなどの承認済みオブジェクトを作成する予定がない場合、データセットへのアクセス権を付与するには、次の例に示すように、google_bigquery_iam リソースのうちのいずれかを使うことをおすすめします。その場合は、google_bigquery_dataset_access リソースを使用します。例については、該当するドキュメントをご覧ください。

データセットを作成してアクセス権を付与する

次の例では、mydataset という名前のデータセットを作成し、google_bigquery_dataset_iam_policy リソースを使用してそのデータセットへのアクセス権を付与します。

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
}

# Update the user, group, or service account
# provided by the members argument with the
# appropriate principals for your organization.
data "google_iam_policy" "default" {
  binding {
    role = "roles/bigquery.dataOwner"
    members = [
      "user:raha@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.admin"
    members = [
      "user:raha@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.user"
    members = [
      "group:analysts@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.dataViewer"
    members = [
      "serviceAccount:bqcx-1234567891011-abcd@gcp-sa-bigquery-condel.iam.gserviceaccount.com",
    ]
  }
}

resource "google_bigquery_dataset_iam_policy" "default" {
  dataset_id  = google_bigquery_dataset.default.dataset_id
  policy_data = data.google_iam_policy.default.policy_data
}

顧客管理の暗号鍵でデータセットを作成する

次の例では、mydataset という名前のデータセットを作成します。また、google_kms_crypto_keygoogle_kms_key_ring リソースを使用し、データセットに Cloud Key Management Service の鍵を指定します。この例を実行する前に、Cloud Key Management Service API を有効にする必要があります。

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  default_encryption_configuration {
    kms_key_name = google_kms_crypto_key.crypto_key.id
  }

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
  depends_on = [google_project_iam_member.service_account_access]
}

resource "google_kms_crypto_key" "crypto_key" {
  name     = "example-key"
  key_ring = google_kms_key_ring.key_ring.id
}

resource "random_id" "default" {
  byte_length = 8
}

resource "google_kms_key_ring" "key_ring" {
  name     = "${random_id.default.hex}-example-keyring"
  location = "us"
}

# Enable the BigQuery service account to encrypt/decrypt Cloud KMS keys
data "google_project" "project" {
}

resource "google_project_iam_member" "service_account_access" {
  project = data.google_project.project.project_id
  role    = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member  = "serviceAccount:bq-${data.google_project.project.number}@bigquery-encryption.iam.gserviceaccount.com"
}

Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。

Cloud Shell を準備する

  1. Cloud Shell を起動します。
  2. Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。

    このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。

ディレクトリを準備する

Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。

  1. Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は .tf にする必要があります(例: main.tf)。このチュートリアルでは、このファイルを main.tf とします。
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。

    新しく作成した main.tf にサンプルコードをコピーします。

    必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。

  3. 環境に適用するサンプル パラメータを確認し、変更します。
  4. 変更を保存します。
  5. Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
    terraform init

    最新バージョンの Google プロバイダを使用する場合は、-upgrade オプションを使用します。

    terraform init -upgrade

変更を適用する

  1. 構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
    terraform plan

    必要に応じて構成を修正します。

  2. 次のコマンドを実行します。プロンプトで「yes」と入力して、Terraform 構成を適用します。
    terraform apply

    Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。

  3. Google Cloud プロジェクトを開いて結果を表示します。 Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。

API

定義済みのデータセット リソースを使用して datasets.insert メソッドを呼び出します。

C#

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある C# の設定手順を完了してください。詳細については、BigQuery C# API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。


using Google.Apis.Bigquery.v2.Data;
using Google.Cloud.BigQuery.V2;

public class BigQueryCreateDataset
{
    public BigQueryDataset CreateDataset(
        string projectId = "your-project-id",
        string location = "US"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        var dataset = new Dataset
        {
            // Specify the geographic location where the dataset should reside.
            Location = location
        };
        // Create the dataset
        return client.CreateDataset(
            datasetId: "your_new_dataset_id", dataset);
    }
}

Go

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Go の設定手順を完了してください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// createDataset demonstrates creation of a new dataset using an explicit destination location.
func createDataset(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()

	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	meta := &bigquery.DatasetMetadata{
		Location: "US", // See https://cloud.google.com/bigquery/docs/locations
	}
	if err := client.Dataset(datasetID).Create(ctx, meta); err != nil {
		return err
	}
	return nil
}

Java

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class CreateDataset {

  public static void runCreateDataset() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    createDataset(datasetName);
  }

  public static void createDataset(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build();

      Dataset newDataset = bigquery.create(datasetInfo);
      String newDatasetName = newDataset.getDatasetId().getDataset();
      System.out.println(newDatasetName + " created successfully");
    } catch (BigQueryException e) {
      System.out.println("Dataset was not created. \n" + e.toString());
    }
  }
}

Node.js

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Node.js の設定手順を完了してください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

// Import the Google Cloud client library and create a client
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function createDataset() {
  // Creates a new dataset named "my_dataset".

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_new_dataset";

  // Specify the geographic location where the dataset should reside
  const options = {
    location: 'US',
  };

  // Create a new dataset
  const [dataset] = await bigquery.createDataset(datasetId, options);
  console.log(`Dataset ${dataset.id} created.`);
}
createDataset();

PHP

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある PHP の設定手順を完了してください。詳細については、BigQuery PHP API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

use Google\Cloud\BigQuery\BigQueryClient;

/** Uncomment and populate these variables in your code */
// $projectId = 'The Google project ID';
// $datasetId = 'The BigQuery dataset ID';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$dataset = $bigQuery->createDataset($datasetId);
printf('Created dataset %s' . PHP_EOL, $datasetId);

Python

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset to create.
# dataset_id = "{}.your_dataset".format(client.project)

# Construct a full Dataset object to send to the API.
dataset = bigquery.Dataset(dataset_id)

# TODO(developer): Specify the geographic location where the dataset should reside.
dataset.location = "US"

# Send the dataset to the API for creation, with an explicit timeout.
# Raises google.api_core.exceptions.Conflict if the Dataset already
# exists within the project.
dataset = client.create_dataset(dataset, timeout=30)  # Make an API request.
print("Created dataset {}.{}".format(client.project, dataset.dataset_id))

Ruby

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Ruby の設定手順を完了してください。詳細については、BigQuery Ruby API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

require "google/cloud/bigquery"

def create_dataset dataset_id = "my_dataset", location = "US"
  bigquery = Google::Cloud::Bigquery.new

  # Create the dataset in a specified geographic location
  bigquery.create_dataset dataset_id, location: location

  puts "Created dataset: #{dataset_id}"
end

データセットに名前を付ける

BigQuery でデータセットを作成するとき、データセット名はプロジェクトごとに一意である必要があります。データセット名には次のものを含めることができます。

  • 1,024 文字まで。
  • 文字(大文字または小文字)、数字、アンダースコア。

データセット名では、デフォルトで大文字と小文字が区別されます。mydatasetMyDataset は、いずれかで大文字と小文字の区別が無効になっていない限り、同じプロジェクトで共存できます。例については、大文字と小文字を区別しないデータセットの作成リソース: データセットをご覧ください。

データセット名にはスペースや特殊文字(-&@% など)を含めることはできません。

非表示のデータセット

非表示のデータセットは、名前がアンダースコアで始まるデータセットです。非表示のデータセット内のテーブルとビューは、他のデータセットと同じ方法でクエリできます。非表示のデータセットには以下の制限があります。

データセットのセキュリティ

BigQuery でデータセットへのアクセスを制御するには、データセットへのアクセスの制御をご覧ください。データ暗号化の詳細については、保存データの暗号化をご覧ください。

次のステップ

使ってみる

Google Cloud を初めて使用される方は、アカウントを作成して、実際のシナリオでの BigQuery のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

BigQuery の無料トライアル