Datasets erstellen

In diesem Dokument wird beschrieben, wie Sie Datasets in BigQuery erstellen.

Datasets können folgendermaßen erstellt werden:

  • Cloud Console verwenden
  • Mit dem Befehl bq mk im bq-Befehlszeilentool
  • Durch Aufruf der API-Methode datasets.insert
  • Mithilfe der Clientbibliotheken
  • Durch Kopieren eines vorhandenen Datasets

Unter Datasets kopieren erfahren Sie, wie Sie ein Dataset kopieren, auch regionenübergreifend.

Hinweis

Bevor Sie beginnen, sollten Sie prüfen, ob Sie die folgenden Berechtigungen benötigen.

Erforderliche Berechtigungen

Zum Erstellen von Datasets benötigen Sie die IAM-Berechtigung bigquery.datasets.create.

Jede der folgenden vordefinierten IAM-Rollen umfasst die Berechtigungen, die Sie zum Erstellen eines Datasets benötigen:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.user
  • bigquery.admin

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Dataset-Einschränkungen

BigQuery-Datasets unterliegen den folgenden Einschränkungen:

  • Sie können die geografische Zone nur während der Erstellung festlegen. Sobald ein Dataset erstellt wurde, wird der Speicherort unveränderlich und es ist nicht mehr möglich, den Standort mit der Cloud Console, dem bq-Befehlszeilentool oder durch Aufrufen der API-Methoden patch oder update zu ändern.
  • Alle in einer Abfrage referenzierten Tabellen müssen in Datasets an demselben Standort gespeichert werden.

  • Wenn Sie eine Tabelle kopieren, müssen sich die Datasets mit der Quell- und Zieltabelle am selben Speicherort befinden.

  • Datensatznamen müssen für jedes Projekt eindeutig sein.

Datasets benennen

Wenn Sie ein Dataset in BigQuery erstellen, darf dessen Name innerhalb eines Projekts nur einmal vorhanden sein. Der Name des Datasets kann Folgendes enthalten:

  • Bis zu 1.024 Zeichen
  • Buchstaben (Groß- oder Kleinbuchstaben), Ziffern und Unterstriche.

Bei Dataset-Namen wird zwischen Groß- und Kleinschreibung unterschieden: mydataset und MyDataset können im selben Projekt gleichzeitig vorhanden sein.

Dataset-Namen dürfen keine Leerzeichen oder Sonderzeichen wie -, &, @ oder % enthalten.

Dataset erstellen

So erstellen Sie ein Dataset:

Console

  1. Öffnen Sie in der Cloud Console die Seite „BigQuery“.

    Zur Seite "BigQuery"

  2. Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.

  3. Maximieren Sie die Option Aktionen und klicken Sie auf Dataset erstellen.

  4. Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:

    • Geben Sie als Dataset-ID einen eindeutigen Dataset-Namen ein.
    • (Optional) Unter Speicherort der Daten können Sie einen geografischen Standort für das Dataset auswählen. Wenn Sie den Standardwert übernehmen, wird der Standort auf US gesetzt. Nach der Erstellung des Datasets kann der Standort nicht mehr geändert werden.

    • Wählen Sie für Standardablauf der Tabelle eine der folgenden Optionen aus:

      • Nie: (Standardeinstellung) Tabellen, die im Dataset erstellt wurden, werden in keinem Fall automatisch gelöscht. Sie müssen sie manuell löschen.
      • Anzahl der Tage nach der Tabellenerstellung: Dieser Wert legt fest, wann eine neu erstellte Tabelle im Dataset gelöscht wird. Der Wert wird angewendet, wenn Sie beim Erstellen der Tabelle keine Ablaufzeit für die Tabelle festlegen.

    • Klicken Sie auf Dataset erstellen.

SQL

Verwenden Sie zum Erstellen eines Datasets die Anweisung CREATE SCHEMA.

Im folgenden Beispiel wird ein Dataset mit dem Namen mydataset mit einem Standard-Tabellenablauf und einem KMS-Schlüssel erstellt.

 CREATE SCHEMA mydataset
 OPTIONS(
   default_table_expiration_days=3.75,
   default_kms_key_name="projects/my-project/locations/us/keyRings/mykeyring/cryptoKeys/mykey",
   labels=[("label1","value1"),("label2","value2")]
 )

Informationen zum Ausführen einer SQL-Abfrage in BigQuery finden Sie unter Interaktive und Batch-Abfragejobs ausführen.

bq

Mit dem Befehl bq mk mit dem Flag --location erstellen Sie ein neues Dataset. Optionale Parameter sind --default_table_expiration, --default_partition_expiration und --description.

Wenn Sie ein Dataset in einem anderen Projekt als dem Standardprojekt erstellen möchten, fügen Sie die Projekt-ID im Format project_id:dataset dem Dataset-Namen hinzu.

bq --location=location mk \
--dataset \
--default_table_expiration integer1 \
--default_partition_expiration integer2 \
--default_kms_key kms_key_name \
--description description \
project_id:dataset

Dabei gilt:

  • location ist der Standort des Datasets. Nachdem ein Dataset erstellt wurde, kann der Standort nicht mehr geändert werden. Mit der Datei .bigqueryrc können Sie für den Standort einen Standardwert festlegen.

  • integer1 ist die Standardlebensdauer neu erstellter Tabellen (in Sekunden). Der Mindestwert beträgt 3.600 Sekunden bzw. eine Stunde. Die Ablaufzeit entspricht der aktuellen Zeit plus dem ganzzahligen Wert. Jede im Dataset erstellte Tabelle wird integer1 Sekunden nach dem Erstellen gelöscht. Der Wert wird angewendet, wenn Sie beim Erstellen der Tabelle keine Ablaufzeit für die Tabelle festlegen.

  • integer2 ist die Standardlebensdauer von Partitionen (in Sekunden) in erstellten partitionierten Tabellen. Für den Standardpartitionsablauf gibt es keinen Mindestwert. Die Ablaufzeit entspricht dem Datum der Partition plus dem ganzzahligen Wert. Jede Partition, die in einer partitionierten Tabelle im Dataset erstellt wurde, wird integer2 Sekunden nach dem Datum der Partition gelöscht. Wenn Sie beim Erstellen oder Aktualisieren einer partitionierten Tabelle das Flag --time_partitioning_expiration angeben, hat der Partitionsablauf auf Tabellenebene Vorrang vor dem Standard-Partitionsablauf auf Dataset-Ebene.

  • kms_key_name ist der Name des standardmäßigen Cloud Key Management Service-Schlüssels, der zum Schutz neu erstellter Tabellen in diesem Dataset verwendet wird, sofern beim Erstellen des Datasets kein anderer Schlüssel angegeben wird. Wenn dieser Parameter gesetzt ist, können Sie in einem Dataset keine von Google verschlüsselte Tabelle erstellen.

  • description ist eine Beschreibung des Datasets in Anführungszeichen.

  • project_id ist die Projekt-ID.

  • dataset ist der Name des zu erstellenden Datasets.

Mit dem folgenden Befehl wird beispielsweise ein Dataset namens mydataset mit dem Standort US für die Daten, einem Standardtabellenablauf von 3.600 Sekunden (1 Stunde) und der Beschreibung This is my dataset erstellt. Anstelle des Flags --dataset verwendet der Befehl die verkürzte Form -d. Wenn Sie -d und --dataset auslassen, wird standardmäßig ein Dataset erstellt.

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

Mit dem Befehl bq ls können Sie prüfen, ob das Dataset erstellt wurde. Sie können auch eine Tabelle erstellen, wenn Sie ein neues Dataset mit dem Format bq mk -t dataset.table erstellen. Weitere Informationen zum Erstellen von Tabellen finden Sie unter Tabelle erstellen.

API

Rufen Sie die Methode datasets.insert mit einer definierten Dataset-Ressource auf.

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von C# in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery C# API.


using Google.Cloud.BigQuery.V2;
using System;

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

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.

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

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

// 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

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von PHP in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery PHP API.

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

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur  Python API.

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

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Ruby in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Ruby API.

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

Dataset-Sicherheit

Informationen zum Steuern des Zugriffs auf Datasets in BigQuery finden Sie unter Zugriff auf Datasets steuern.

Mehr zur Verwendung der Play Console erfahren

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von BigQuery in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

BigQuery kostenlos testen