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 Cloud Console
- En utilisant la commande
bq mk
de l'outil de ligne de commandebq
- En appelant 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.
Limites des ensembles de données
Les ensembles de données BigQuery sont soumis aux limitations suivantes :
- Vous ne pouvez définir l'emplacement géographique qu'au moment de la création. Une fois qu'un ensemble de données a été créé, l'emplacement devient immuable et ne peut plus être modifié à l'aide de Cloud Console ou de l'outil de ligne de commande
bq
, ou bien en appelant les méthodes d'APIpatch
ouupdate
. 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.
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.
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 : mydataset
et MyDataset
peuvent coexister dans le même projet.
Les noms d'ensembles de données ne peuvent pas contenir d'espaces ni de caractères spéciaux tels que -
, &
, @
ou %
.
Autorisations requises
Pour créer un ensemble de données, vous devez au minimum disposer des autorisations bigquery.datasets.create
. Les rôles IAM prédéfinis suivants incluent les autorisations bigquery.datasets.create
:
bigquery.dataEditor
bigquery.dataOwner
bigquery.user
bigquery.admin
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Créer un ensemble de données
Pour créer un ensemble de données, procédez comme suit :
Console
Ouvrez la page "BigQuery" dans Cloud Console.
Dans la section Ressources du panneau de navigation, sélectionnez votre projet.
Dans le panneau des détails situé à droite, cliquez sur Créer un ensemble de données.
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.
(Facultatif) Dans la liste déroulante permettant d'indiquer l'emplacement des données, sélectionnez un emplacement géographique pour l'ensemble de données. Si vous conservez la valeur définie sur Par défaut, l'emplacement est défini sur
US
. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié.Pour indiquer le délai d'expiration par défaut de la table, choisissez l'une des options suivantes :
- Never (Jamais) : (par défaut) les tables créées dans l'ensemble de données ne sont jamais supprimées automatiquement. Vous devez les supprimer manuellement.
- Nombre de jours après la création de la table : cette valeur détermine à quel moment une table nouvellement créée dans l'ensemble de données est supprimée. Cette valeur est appliquée si vous ne définissez pas de délai d'expiration pour la table lors de sa création.
Cliquez sur Créer un ensemble de données.
bq
Pour créer un ensemble de données, exécutez la commande bq mk
en spécifiant l'option --location
.
Les paramètres facultatifs sont --default_table_expiration
, --default_partition_expiration
et --description
.
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
.
bq --location=location mk \ --dataset \ --default_table_expiration integer1 \ --default_partition_expiration integer2 \ --description description \ project_id:dataset
Remplacez l'élément suivant :
location
est l'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
.integer1
est la 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éesinteger1
secondes 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.integer2
est la 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éeinteger2
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.description
est une description de l'ensemble de données entre guillemets.project_id
est l'ID de votre projet.dataset
est le nom 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.
API
Appelez la méthode datasets.insert
avec une ressource d'ensemble de données définie.
C#
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour C# décrite dans le 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 en langage C#.
Go
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Go décrite dans le 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 en langage Go.
Java
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Java décrite dans le 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 en langage Java.
Node.js
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Node.js décrite dans le 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 en langage Node.js.
PHP
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour PHP dans le 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 en langage PHP.
Python
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Python décrite dans le 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 Python.
Ruby
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Ruby décrite dans le 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 en langage Ruby.
Étapes suivantes
- Pour en savoir plus sur l'attribution des contrôles d'accès aux ensembles de données, consultez la page Contrôler l'accès aux ensembles de données.
- Pour savoir comment répertorier les ensembles de données d'un projet, consultez la page Répertorier des ensembles de données.
- Pour en savoir plus sur les métadonnées d'ensemble de données, consultez la page Obtenir des informations sur les ensembles de données.
- Pour savoir comment modifier les propriétés d'un ensemble de données, consultez la page Mettre à jour des ensembles de données.
- Pour en savoir plus sur la création et la gestion des libellés, consultez la page Créer et gérer des libellés.