建立資料集

本文件說明如何在 BigQuery 中建立資料集。

您可以透過下列方式建立資料集:

  • 使用 Google Cloud 控制台。
  • 使用 SQL 查詢。
  • 在 bq 指令列工具中使用 bq mk 指令。
  • 呼叫 datasets.insert API 方法
  • 使用用戶端程式庫。
  • 複製現有的資料集

如要查看複製資料集的步驟 (包括跨地區),請參閱複製資料集一文。

本文說明如何使用在 BigQuery 中儲存資料的一般資料集。如要瞭解如何使用 Spanner 外部資料集,請參閱「建立 Spanner 外部資料集」。如要瞭解如何使用 AWS Glue 聯合資料集,請參閱「建立 AWS Glue 聯合資料集」。

如要瞭解如何查詢公開資料集中的資料表,請參閱「透過控制台查詢公開資料集」。 Google Cloud

資料集的限制

BigQuery 資料集有下列限制:

  • 資料集位置只能在建立時設定。資料集建立後,就無法變更位置。
  • 查詢中參考的所有資料表,都必須儲存在同一個位置的資料集中。
  • 外部資料集不支援資料表到期時間、副本、時空旅行、預設定序、預設捨入模式,也不支援啟用或停用不區分大小寫的資料表名稱。

  • 複製資料表時,包含來源資料表和目的地資料表的資料集必須位於相同位置。

  • 每個專案的資料集名稱皆不得重複。

  • 變更資料集的儲存空間計費模式後,必須等待 14 天才能再次變更。

  • 如果現有固定費率的舊版預留空間與資料集位於相同地區,您就無法為資料集啟用實體儲存空間帳單。

事前準備

授予身分與存取權管理 (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. 點選左側窗格中的 「Explorer」
  4. 選取要建立資料集的專案。
  5. 依序點選 「View actions」(查看動作) 和「Create dataset」(建立資料集)
  6. 使用專案的動作選單建立資料集
  7. 在「Create dataset」(建立資料集) 頁面:
    1. 針對「Dataset ID」(資料集 ID),輸入唯一的資料集名稱
    2. 針對「Location type」(位置類型),選擇資料集的地理位置。資料集建立後即無法變更位置。
    3. 選用:如要建立外部資料集,請選取「外部資料集的連結」
    4. 如不需設定其他選項 (例如標記和資料表到期時間),請按一下「建立資料集」。否則,請展開下節,設定其他資料集選項。

    資料集的其他選項

    1. 選用:展開「標記」部分,在資料集中新增標記
    2. 如要套用現有標籤,請按照下列步驟操作:
      1. 按一下「選取範圍」旁的下拉式箭頭,然後選擇「目前範圍」,即「選取目前的機構」或「選取目前的專案」
      2. 或者,按一下「選取範圍」搜尋資源,或查看目前資源的清單。

      3. 從清單中為「鍵 1」和「值 1」選擇適當的值。
    3. 如要手動輸入新標記,請按照下列步驟操作:
      1. 按一下「選取範圍」旁的下拉式箭頭,然後依序選擇「手動輸入 ID」>「機構」、「專案」或「標記」
      2. 如要為專案或機構建立標記,請在對話方塊中輸入 PROJECT_IDORGANIZATION_ID,然後按一下「儲存」
      3. 針對「鍵 1」和「值 1」,從清單中選擇適當的值。
      4. 如要在表格中新增其他代碼,請按一下「新增代碼」,然後按照上述步驟操作。
    4. (選用) 展開「Advanced options」(進階選項) 部分,設定下列一或多個選項。
      1. 如要變更「Encryption」(加密) 選項,以透過 Cloud Key Management Service 使用自己的加密金鑰,請選取「Cloud KMS key」(Cloud KMS 金鑰)
      2. 如要使用不區分大小寫的資料表名稱,請選取「啟用不區分大小寫的資料表名稱」
      3. 如要變更預設定序 規格,請從清單中選擇定序類型。
      4. 如要為資料集中的資料表設定到期時間,請選取「啟用資料表到期時間」,然後以天為單位指定「預設資料表存在時間上限」
      5. 如要設定預設捨入模式,請從清單中選擇捨入模式。
      6. 如要啟用實體儲存空間計費模式,請從清單中選擇計費模式。
      7. 變更資料集的計費模式後,最久需要 24 小時才會生效。

        變更資料集的儲存空間計費模式後,必須等待 14 天才能再次變更。

      8. 如要設定資料集的時間回溯期,請從清單中選擇回溯期大小。
    5. 點選「建立資料集」

SQL

使用 CREATE SCHEMA 陳述式

如要在非預設專案中建立資料集,請採用下列格式將專案 ID 新增至資料集 ID:PROJECT_ID.DATASET_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_2:VALUE_2:您要設為第二個標籤的鍵/值組合
    • 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

如要建立新的資料集,請使用 bq mk 指令,並加上 --location 旗標。如需可能的完整參數清單,請參閱 bq mk --dataset 指令參考資料。

如要在非預設專案中建立資料集,請採用下列格式將專案 ID 新增至資料集:PROJECT_ID:DATASET_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:新建立資料表的預設生命週期 (以秒為單位)。最小值是 3600 秒 (1 小時)。到期時間為目前時間加整數值。在資料集中建立的任何資料表都會在建立時間後 TABLE_EXPIRATION 秒刪除。如果您在建立資料表時未設定資料表到期時間,系統就會套用這個值。

  • DESCRIPTION:資料集說明

  • KEY_1:VALUE_1:您要設為這個資料集第一個標籤的鍵值組,而 KEY_2:VALUE_2 則是您要設為第二個標籤的鍵值組。

  • KEY_3:VALUE_3:您要在資料集上設為標記的鍵值組。在相同標記下新增多個標記,並在鍵/值組合之間加上半形逗號。

  • 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。這個指令採用 -d 捷徑,而不是使用 --dataset 旗標。如果您省略 -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 建立的資料集存取權封鎖。

如要授予資料集存取權,建議您使用其中一個 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 專案。

    每項專案只需要執行一次這個指令,且可以在任何目錄中執行。

    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。每個目錄只需執行一次這項操作。
    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