データセットを作成する

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

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

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

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

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

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

データセットの制限事項

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 のロールの詳細については、事前定義ロールと権限をご覧ください。

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

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

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

データセット名では、デフォルトで大文字と小文字を区別します。mydatasetMyDataset は、いずれかで大文字と小文字の区別が無効になっていない限り、同じプロジェクトで共存できます。

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

非表示のデータセット

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

  • Google Cloud コンソールの [エクスプローラ] パネルには表示されない。
  • INFORMATION_SCHEMA ビューには表示されない。
  • リンクされたデータセットでは使用できない。
  • Data Catalog には表示されない。

データセットの作成

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

コンソール

  1. Google Cloud コンソールで [BigQuery] ページを開きます。

    BigQuery ページに移動

  2. [エクスプローラ] パネルで、データセットを作成するプロジェクトを選択します。

  3. [アクション] オプションを開いて、[データセットを作成] をクリックします。

    プロジェクトの操作メニューを使用して、データセットを作成します。

  4. [データセットを作成] ページで次の操作を行います。

    • [データセット ID] に、データセットの一意の名前を入力します。
    • [ロケーション タイプ] で、データセットの地理的なロケーションを選択します。データセットの作成後はロケーションを変更できません。

    • (省略可)このデータセットのテーブルを期限切れにするには、[テーブルの有効期限を有効にする] を選択してから、[デフォルトのテーブル最大存続期間] を日数で指定します。

    • (省略可)顧客管理の暗号鍵(CMEK)を使用する場合は、[詳細オプション] を展開して [顧客管理の暗号鍵(CMEK)] を選択します。

    • (省略可)大文字と小文字を区別しないテーブル名を使用する場合は、[詳細オプション] を展開して [大文字と小文字を区別しないテーブル名を有効にする] を選択します。

    • (省略可)デフォルトの照合順序を使用する場合は、[詳細オプション] を展開し、[デフォルトの照合を有効にする] を選択して使用する [デフォルトの照合] を選択します。

    • (省略可)デフォルトの丸めモードを使用する場合は、[詳細オプション] を展開して [デフォルトの丸めモード] を選択します。

    • (省略可)物理ストレージの課金モデルを有効にする場合は、[詳細オプション] を展開して [物理ストレージの課金モデルを有効にする] を選択します。

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

      データセットのストレージ請求モデルを変更してから、ストレージ課金モデルを再度変更できるようになるまで、14 日間お待ちください。

    • (省略可)データセットのタイムトラベル期間を設定する場合は、[詳細オプション] を展開して使用する [タイムトラベル期間] を選択します。

    • [データセットを作成] をクリックします。

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 値は、48(2 日)~168(7 日)の範囲で、24 の倍数(48、72、96、120、144、168)にする必要があります。このオプションを指定しない場合のデフォルトは 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 値は、48(2 日)~168(7 日)の範囲で、24 の倍数(48、72、96、120、144、168)にする必要があります。このオプションを指定しない場合のデフォルトは 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 でデータセットへのアクセスを制御するには、データセットへのアクセスの制御をご覧ください。データ暗号化の詳細については、保存データの暗号化をご覧ください。

次のステップ

使ってみる

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

BigQuery の無料トライアル