建立資料集

本文件說明如何在 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. 展開「View actions」(查看動作) 選項 ,然後按一下「Create dataset」(建立資料集)
  5. 使用專案的動作選單建立資料集
  6. 在「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. 選用:展開「進階選項」部分,設定下列一或多個選項。
      1. 如要變更「Encryption」(加密) 選項,以透過 Cloud Key Management Service 使用自己的加密金鑰,請選取「Cloud KMS key」(Cloud KMS 金鑰)
      2. 如要使用不區分大小寫的資料表名稱,請選取「啟用不區分大小寫的資料表名稱」
      3. 如要變更預設定序 規格,請從清單中選擇定序類型。
      4. 如要為資料集中的資料表設定到期時間,請選取「Enable table expiration」(啟用資料表到期時間),然後以天為單位指定「Default maximum table age」(預設資料表存在時間上限)
      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