Créer des ensembles de données

Ce document explique comment créer des ensembles de données dans BigQuery.

Vous pouvez créer des ensembles de données de différentes manières :

  • Utiliser la console Google Cloud
  • Utiliser une requête SQL
  • Exécuter la commande bq mk dans l'outil de ligne de commande bq
  • Appeler la méthode API datasets.insert
  • Utiliser les bibliothèques clientes
  • Copier un ensemble de données existant

Pour connaître la procédure à suivre pour copier un ensemble de données, y compris entre plusieurs régions, consultez la page Copier des ensembles de données.

Ce document explique comment utiliser des ensembles de données standards qui stockent des données dans BigQuery. Pour découvrir comment utiliser des ensembles de données externes Spanner, consultez Créer des ensembles de données externes Spanner. Pour découvrir comment utiliser les ensembles de données fédérés AWS Glue, consultez Créer des ensembles de données fédérés AWS Glue.

Pour savoir comment interroger des tables dans un ensemble de données public, consultez la section Interroger un ensemble de données public avec Google Cloud Console.

Limites des ensembles de données

Les ensembles de données BigQuery sont soumis aux limitations suivantes :

  • L'emplacement de l'ensemble de données ne peut être défini qu'au moment de la création. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié.
  • Toutes les tables référencées dans une requête doivent être stockées dans des ensembles de données situés au même emplacement.
  • Les ensembles de données externes ne sont pas compatibles avec l'expiration des tables, les réplicas, le voyage dans le temps, la collation par défaut, le mode d'arrondi par défaut ni l'option d'activation ou de désactivation de la casse des noms de tables.

  • Lorsque vous copiez une table, les ensembles de données contenant la table source et la table de destination doivent se trouver au même emplacement.

  • Les noms d'ensembles de données doivent être uniques pour chaque projet.

  • Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir le modifier à nouveau.

  • Vous ne pouvez pas enregistrer un ensemble de données à la facturation du stockage physique si vous avez d'anciens engagements d'emplacements à tarifs forfaitaires situés dans la même région que cet ensemble de données.

Avant de commencer

Attribuez aux utilisateurs des rôles IAM (Identity and Access Management) incluant les autorisations nécessaires pour effectuer l'ensemble des tâches du présent document.

Autorisations requises

Pour créer un ensemble de données, vous avez besoin de l'autorisation IAM bigquery.datasets.create.

Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour créer un ensemble de données :

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

Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.

Nommer des ensembles de données

Lorsque vous créez un ensemble de données dans BigQuery, son nom doit être unique pour chaque projet. Le nom de l'ensemble de données peut contenir les éléments suivants :

  • Jusqu'à 1 024 caractères
  • Lettres (majuscules ou minuscules), chiffres et traits de soulignement

Les noms des ensembles de données sont sensibles à la casse par défaut. mydataset et MyDataset peuvent coexister dans le même projet, sauf si la sensibilité à la casse est désactivée pour l'un d'entre eux.

Les noms d'ensembles de données ne peuvent pas contenir d'espaces ni de caractères spéciaux tels que -, &, @ ou %.

Ensembles de données masqués

Un ensemble de données masqué est un ensemble de données dont le nom commence par un trait de soulignement. Vous pouvez interroger les tables et les vues des ensembles de données masqués de la même manière que dans n'importe quel autre ensemble de données. Les ensembles de données masqués sont soumis aux restrictions suivantes :

  • Ils sont masqués dans le panneau Explorateur de la console Google Cloud.
  • Ils n'apparaissent pas dans les vues INFORMATION_SCHEMA.
  • Ils ne peuvent pas être utilisés avec des ensembles de données associés.
  • Ils n'apparaissent pas dans Data Catalog.

Créer des ensembles de données

Pour créer un ensemble de données, procédez comme suit :

Console

  1. Ouvrez la page BigQuery dans la console Google Cloud.

    Accéder à BigQuery

  2. Dans le panneau Explorer, sélectionnez le projet dans lequel vous souhaitez créer l'ensemble de données.

  3. Développez l'option Actions, puis cliquez sur Créer un ensemble de données :

    Utilisez le menu d'action du projet pour créer un ensemble de données.

  4. Sur la page Créer un ensemble de données, procédez comme suit :

    • Pour ID de l'ensemble de données, indiquez le nom d'un ensemble de données unique.
    • Dans Type d'emplacement, sélectionnez un emplacement géographique pour l'ensemble de données. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié.

    • (Facultatif) Si vous souhaitez que les tables de cet ensemble de données expirent, sélectionnez Activer l'expiration de la table, puis spécifiez l'âge maximal par défaut de la table en jours.

    • Facultatif : Si vous souhaitez utiliser une clé de chiffrement gérée par le client (CMEK), développez Options avancées, puis sélectionnez Clé de chiffrement gérée par le client (CMEK).

    • Facultatif : Si vous souhaitez utiliser des noms de tables non sensibles à la casse, développez Options avancées, puis sélectionnez Rendre les noms de tables non sensibles à la casse.

    • Facultatif : Si vous souhaitez utiliser un classement par défaut, développez Options avancées, sélectionnez Activer le classement par défaut, puis Classement par défaut.

    • Facultatif : Si vous souhaitez utiliser un mode d'arrondi par défaut, développez Options avancées, puis sélectionnez le mode d'arrondi par défaut à utiliser.

    • Facultatif : Si vous souhaitez activer le modèle de facturation du stockage physique, développez Options avancées, puis sélectionnez Activer le modèle de facturation du stockage physique.

      Lorsque vous modifiez le modèle de facturation d'un ensemble de données, la prise en compte de la modification prend 24 heures.

      Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir modifier à nouveau le modèle de facturation du stockage.

    • Facultatif : Si vous souhaitez définir la fenêtre de fonctionnalité temporelle de l'ensemble de données, développez Options avancées, puis sélectionnez la fenêtre de fonctionnalité temporelle à utiliser.

    • Cliquez sur Créer un ensemble de données.

SQL

Utilisez l'instruction CREATE SCHEMA.

Pour créer un ensemble de données dans un projet autre que votre projet par défaut, ajoutez l'ID du projet à l'ID de l'ensemble de données de la manière suivante : PROJECT_ID.DATASET_ID.

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez l'instruction suivante :

    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);

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet.
    • DATASET_ID : ID de l'ensemble de données que vous créez.
    • KMS_KEY_NAME : nom de la clé Cloud Key Management Service utilisée par défaut pour protéger les tables nouvellement créées dans cet ensemble de données, à moins qu'une clé différente ne soit fournie au moment de la création. Vous ne pouvez pas créer de table chiffrée par Google dans un ensemble de données avec ces paramètres.
    • PARTITION_EXPIRATION : durée de vie par défaut (en jours) des partitions des tables partitionnées nouvellement créées. Aucune valeur minimale n'est imposée pour le délai d'expiration par défaut des partitions. Le délai d'expiration correspond à la date de la partition plus la valeur entière. Toute partition créée dans une table partitionnée de l'ensemble de données est supprimée PARTITION_EXPIRATION jours après sa partition. Si vous spécifiez l'option time_partitioning_expiration lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données.
    • TABLE_EXPIRATION : durée de vie par défaut (en jours) des tables nouvellement créées. La valeur minimale est de 0,042 jour (une heure). Le délai d'expiration correspond à l'heure actuelle plus la valeur entière. Toutes les tables créées dans l'ensemble de données sont supprimées TABLE_EXPIRATION jours après leur création. Cette valeur est appliquée si vous ne définissez pas de délai d'expiration lors de la création de la table.
    • DESCRIPTION : description de l'ensemble de données
    • KEY_1:VALUE_1 : paire clé-valeur que vous souhaitez définir comme première étiquette sur cet ensemble de données
    • KEY_2:VALUE_2 : paire clé-valeur que vous souhaitez définir comme deuxième étiquette
    • LOCATION : emplacement de l'ensemble de données. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié.
    • HOURS : durée en heures de la fenêtre temporelle du nouvel ensemble de données. La valeur HOURS doit être un entier exprimé par des multiples de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 jours) et 168 (7 jours). 168 heures est la valeur par défaut si cette option n'est pas spécifiée.
    • BILLING_MODEL : définit le modèle de facturation du stockage pour l'ensemble de données. Définissez la valeur BILLING_MODEL sur PHYSICAL pour utiliser des octets physiques lors du calcul des frais de stockage, ou sur LOGICAL pour utiliser des octets logiques. LOGICAL est la valeur par défaut.

      Lorsque vous modifiez le modèle de facturation d'un ensemble de données, la prise en compte de la modification prend 24 heures.

      Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir modifier à nouveau le modèle de facturation du stockage.

  3. Cliquez sur Exécuter.

Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.

bq

Pour créer un ensemble de données, exécutez la commande bq mk en spécifiant l'option --location. Pour obtenir la liste complète des paramètres possibles, consultez la documentation de référence sur la commande bq mk --dataset.

Pour créer un ensemble de données dans un projet autre que votre projet par défaut, ajoutez l'ID du projet au nom de l'ensemble de données de la manière suivante : 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

Remplacez les éléments suivants :

  • LOCATION : emplacement de l'ensemble de données. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié. Vous pouvez spécifier une valeur par défaut pour l'emplacement à l'aide du fichier .bigqueryrc.

  • KMS_KEY_NAME : nom de la clé Cloud Key Management Service utilisée par défaut pour protéger les tables nouvellement créées dans cet ensemble de données, à moins qu'une clé différente ne soit fournie au moment de la création. Vous ne pouvez pas créer de table chiffrée par Google dans un ensemble de données avec ces paramètres.

  • PARTITION_EXPIRATION : durée de vie par défaut (en secondes) des partitions des tables partitionnées nouvellement créées. Aucune valeur minimale n'est imposée pour le délai d'expiration par défaut des partitions. Le délai d'expiration correspond à la date de la partition plus la valeur entière. Toute partition créée dans une table partitionnée de l'ensemble de données est supprimée PARTITION_EXPIRATION secondes après sa partition. Si vous spécifiez l'option --time_partitioning_expiration lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données.

  • TABLE_EXPIRATION : durée de vie par défaut (en secondes) des tables nouvellement créées. La valeur minimale est de 3 600 secondes (une heure). Le délai d'expiration correspond à l'heure actuelle plus la valeur entière. Toutes les tables créées dans l'ensemble de données sont supprimées TABLE_EXPIRATION secondes après leur création. Cette valeur est appliquée si vous ne définissez pas de délai d'expiration pour la table lors de sa création.

  • DESCRIPTION : description de l'ensemble de données

  • KEY_1:VALUE_1 est la paire clé-valeur que vous souhaitez définir en tant que premier libellé de cet ensemble de données, et KEY_2:VALUE_2 est la paire clé-valeur que vous souhaitez définir en tant que deuxième libellé.

  • KEY_3:VALUE_3 : paire clé-valeur que vous souhaitez définir en tant que tag sur l'ensemble de données. Ajoutez plusieurs tags sous la même option en séparant les paires clé/valeur par des virgules.

  • HOURS : durée en heures de la fenêtre temporelle du nouvel ensemble de données. La valeur HOURS doit être un entier exprimé par des multiples de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 jours) et 168 (7 jours). 168 heures est la valeur par défaut si cette option n'est pas spécifiée.

  • BILLING_MODEL : définit le modèle de facturation du stockage pour l'ensemble de données. Définissez la valeur BILLING_MODEL sur PHYSICAL pour utiliser des octets physiques lors du calcul des frais de stockage, ou sur LOGICAL pour utiliser des octets logiques. LOGICAL est la valeur par défaut.

    Lorsque vous modifiez le modèle de facturation d'un ensemble de données, la prise en compte de la modification prend 24 heures.

    Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir modifier à nouveau le modèle de facturation du stockage.

  • PROJECT_ID : ID de votre projet.

  • DATASET_ID est l'ID de l'ensemble de données que vous créez.

Par exemple, la commande suivante crée un ensemble de données nommé mydataset avec l'emplacement des données défini sur US, une valeur de 3 600 secondes (une heure) pour le délai d'expiration par défaut des tables et la description This is my dataset. Au lieu d'utiliser l'option --dataset, la commande utilise le raccourci -d. Si vous omettez -d et --dataset, la commande crée un ensemble de données par défaut.

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

Pour vérifier que l'ensemble de données a bien été créé, saisissez la commande bq ls. Vous pouvez également créer une table lorsque vous créez un ensemble de données. Pour cela, exécutez la commande suivante : bq mk -t dataset.table. Pour en savoir plus sur la création des tables, consultez la section Créer une table.

Terraform

Utilisez la ressource google_bigquery_dataset.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

Créer un ensemble de données

L'exemple suivant crée un ensemble de données nommé 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"
  }
}

Lorsque vous créez un ensemble de données en utilisant la ressource google_bigquery_dataset, l'accès à l'ensemble de données est automatiquement accordé à tous les comptes affiliés aux rôles de base au niveau du projet. Si vous exécutez la commande terraform show après avoir créé l'ensemble de données, le bloc access pour l'ensemble de données ressemble à l'exemple suivant :

Bloc d'accès pour un ensemble de données créé à l'aide de Terraform.

Pour accorder l'accès à l'ensemble de données, nous vous recommandons d'utiliser l'une des ressources google_bigquery_iam, comme indiqué dans l'exemple suivant, sauf si vous prévoyez de créer des objets autorisés, tels que des vues autorisées, dans l'ensemble de données. Dans ce cas, utilisez la ressource google_bigquery_dataset_access. Consultez cette documentation pour obtenir des exemples.

Créer un ensemble de données et accorder l'accès à cet ensemble

L'exemple suivant crée un ensemble de données nommé mydataset et utilise ensuite la ressource google_bigquery_dataset_iam_policy pour accorder l'accès à cet ensemble de données.

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
}

Créer un ensemble de données avec une clé de chiffrement gérée par le client

L'exemple suivant crée un ensemble de données nommé mydataset et utilise également les ressources google_kms_crypto_key et google_kms_key_ring pour spécifier une clé Cloud Key Management Service pour l'ensemble de données. Vous devez activer l'API Cloud Key Management Service avant d'exécuter cet exemple.

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"
}

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

API

Appelez la méthode datasets.insert avec une ressource d'ensemble de données définie.

C#

Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour C#.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Go.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Java.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Node.js.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour PHP du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour PHP.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Python.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Ruby.

Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

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

Sécurité des ensembles de données

Pour savoir comment contrôler l'accès aux ensembles de données dans BigQuery, consultez la page Contrôler l'accès aux ensembles de données. Pour en savoir plus sur le chiffrement des données, consultez la page Chiffrement au repos.

Étapes suivantes

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de BigQuery en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai gratuit de BigQuery