Taguer une table BigQuery à l'aide de Data Catalog
Ce guide de démarrage rapide vous aide à effectuer les tâches suivantes:
Créer un ensemble de données et une table BigQuery
Créez un modèle de balise avec un schéma qui définit cinq champs de balise de types distincts. Il s'agit de
string
,double
,boolean
,enumerated
etrichtext
.Recherchez l'entrée Data Catalog pour votre table.
Dans la console Google Cloud, créez des métadonnées d'entreprise pour votre entrée, qui incluent une présentation, un responsable des données et une balise.
Data Catalog vous permet de rechercher et de taguer des entrées telles que des tables BigQuery à l'aide de métadonnées. Voici quelques exemples de métadonnées que vous pouvez utiliser pour le taggage : tags publics et privés, responsables des données et aperçu du texte enrichi.
Avant de commencer
- configurer votre projet ;
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Ajouter une entrée de données publiques à votre projet
Les entrées Data Catalog incluent des ressources de données telles qu'un ensemble de données BigQuery ou un sujet Pub/Sub.
Ajoutez un ensemble de données public à votre projet.
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans la section Explorer, cliquez sur Ajouter des données, puis sélectionnez Ensembles de données publics dans la liste.
Dans le panneau Marketplace, recherchez
New York taxi trips
, puis cliquez sur le résultat de recherche correspondant.Cliquez sur Afficher l'ensemble de données.
Créer un ensemble de données et une table
Créer un ensemble de données
Dans Google Cloud Console, ouvrez la page "BigQuery".
Dans le panneau Explorer, sélectionnez le projet dans lequel vous souhaitez créer l'ensemble de données.
Cliquez sur l'icône
Actions, puis sur Créer un ensemble de données.Sur la page Créer un ensemble de données, renseignez les informations suivantes:
- Dans le champ ID de l'ensemble de données, saisissez
demo_dataset
. - Dans la liste déroulante Emplacement des données, sélectionnez
us (multiple regions in United States)
. - Activez l'expiration de la table et spécifiez le nombre de jours.
- Dans le champ Chiffrement, conservez l'option Clé de chiffrement gérée par Google sélectionnée.
Cliquez sur Créer un ensemble de données.
- Dans le champ ID de l'ensemble de données, saisissez
Copiez une table accessible au public dans
demo_dataset
.Dans Google Cloud Console, ouvrez la page "BigQuery".
Dans le volet Explorer, recherchez les tables
tlc_yellow_trips
(cliquez sur Élargir la recherche à tous les projets si nécessaire) et sélectionnez-en une, par exempletlc_yellow_trips_2017
. Cliquez ensuite sur Copier.Dans le volet Copier le tableau, renseignez les informations suivantes:
- Dans la liste déroulante Nom du projet, sélectionnez votre projet.
- Dans la liste déroulante Nom de l'ensemble de données, sélectionnez
demo_dataset
. - Dans le champ Nom de la table, saisissez
trips
, puis cliquez sur Copier.
Dans le volet Explorer, vérifiez que la table
trips
figure bien dansdemo_dataset
.
Dans la section suivante, vous allez ajouter des tags Data Catalog à la table.
Créer un modèle de tag public et associer un tag à votre entrée
Vous devez être le propriétaire de l'ensemble de données pour associer un tag à une table de l'ensemble de données. Pour en savoir plus sur les tags publics et privés, consultez Tags publics et privés.
Dans un modèle de balise, les champs de balise sont facultatifs. Vous n'avez pas besoin de fournir de valeur pour un champ lorsque vous associez un tag à une entrée de Data Catalog. Toutefois, si un modèle définit un champ comme obligatoire, vous devez fournir une valeur pour ce champ. Si la valeur n'est pas fournie, une erreur est générée.
Vous pouvez utiliser des minuscules et des traits de soulignement pour définir les noms de champs. Les champs du modèle de balise créés dans cet exemple sont des champs de démonstration et ne sont pas automatiquement mis à jour ni synchronisés avec BigQuery.
Console
Accédez à la page Dataplex > Modèles de tag.
Cliquez sur Créer un modèle de balise, puis saisissez les informations suivantes:
- Saisissez
Demo Tag Template
dans Template name (Nom du modèle). - Conservez l'emplacement par défaut.
- La visibilité du modèle de balise reste Publique.
Cliquez sur Ajouter un champ pour ajouter cinq champs. Utilisez le tableau suivant et laissez le champ Description du champ vide.
Nom à afficher du champ ID du champ Champ obligatoire Type Source de l'élément de données source Oui Chaîne Lignes de l'élément num_rows Non Double Comporte des informations permettant d'identifier personnellement l'utilisateur has_pii Non Booléen Type de données personnelles pii_type Non Énuméré Ajoutez les valeurs
EMAIL_ADDRESS
,US_SOCIAL_SECURITY_NUMBER
etNONE
.Contexte context Non Texte enrichi
- Saisissez
Cliquez sur Créer.
La page Détails du modèle contient toutes les informations sur le modèle de tag.
Pour associer un tag à
demo_dataset
, accédez à la page de recherche Dataplex.Pour Choisir une plate-forme de recherche, sélectionnez Data Catalog comme mode de recherche.
Dans le champ de recherche, saisissez
demo_dataset
. Dans les résultats de recherche, vous voyez l'ensemble de donnéesdemo_dataset
et la tabletrips
.Cliquez sur la table
trips
. La page Détails de la table BigQuery s'ouvre.Cliquez sur Associer des tags.
Dans le panneau Joindre des balises, saisissez les informations suivantes:
- Sélectionnez la cible comme
trips
. - Sélectionnez le modèle de balise comme
Demo Tag Template
. - Pour les valeurs de balise, saisissez les informations suivantes :
- Source de l'élément de données :
Copied from tlc_yellow_trips_2017
- Nombre de lignes dans l'élément de données :
113496874
- Comporte des informations personnelles :
FALSE
- Type de données personnelles :
NONE
- Source de l'élément de données :
Cliquez sur Enregistrer.
Les champs de tag sont désormais répertoriés dans la section Tags des détails de la table BigQuery.
- Sélectionnez la cible comme
gcloud
Exécutez la commande gcloud data-catalog tag-templates create ci-dessous pour créer un modèle de tag avec les cinq champs de tag suivants:
display_name:
Source de l'élément de donnéesid:
sourcerequired:
TRUEtype:
Chaînedisplay_name:
Nombre de lignes dans l'élément de donnéesid:
num_rowsrequired:
FALSEtype:
Doubledisplay_name:
Comporte des informations personnellesid:
has_piirequired:
FALSEtype:
Booléendisplay_name:
Type d'informations personnellesid:
pii_typerequired:
FALSEtype:
Énumérévalues:
- EMAIL_ADDRESS
- US_SOCIAL_SECURITY_NUMBER
- AUCUN
# ------------------------------- # Create a Tag Template. # ------------------------------- gcloud data-catalog tag-templates create demo_template \ --location=us-central1 \ --display-name="Demo Tag Template" \ --field=id=source,display-name="Source of data asset",type=string,required=TRUE \ --field=id=num_rows,display-name="Number of rows in the data asset",type=double \ --field=id=has_pii,display-name="Has PII",type=bool \ --field=id=pii_type,display-name="PII type",type='enum(EMAIL_ADDRESS|US_SOCIAL_SECURITY_NUMBER|NONE)' # ------------------------------- # Lookup the Data Catalog entry for the table. # ------------------------------- ENTRY_NAME=$(gcloud data-catalog entries lookup '//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET/tables/TABLE' --format="value(name)") # ------------------------------- # Attach a Tag to the table. # ------------------------------- # Create the Tag file. cat > tag_file.json << EOF { "source": "BigQuery", "num_rows": 1000, "has_pii": true, "pii_type": "EMAIL_ADDRESS" } EOF gcloud data-catalog tags create --entry=${ENTRY_NAME} \ --tag-template=demo_template --tag-template-location=us-central1 --tag-file=tag_file.json
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide de Data Catalog à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go de Data Catalog.
Pour vous authentifier auprès de Data Catalog, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de Data Catalog à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java de Data Catalog.
Pour vous authentifier auprès de Data Catalog, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js du guide de démarrage rapide de Data Catalog à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js de Data Catalog.
Pour vous authentifier auprès de Data Catalog, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de Data Catalog à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python de Data Catalog.
Pour vous authentifier auprès de Data Catalog, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST et ligne de commande
REST
Si vous n'avez pas accès aux bibliothèques clientes cloud pour votre langage ou si vous souhaitez tester l'API à l'aide de requêtes REST, consultez les exemples suivants et la documentation API REST de Data Catalog.
Créez un modèle de tag.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID de votre projet Google Cloud
Méthode HTTP et URL :
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/tagTemplates?tagTemplateId=demo_tag_template
Corps JSON de la requête :
{ "displayName":"Demo Tag Template", "fields":{ "source":{ "displayName":"Source of data asset", "isRequired": "true", "type":{ "primitiveType":"STRING" } }, "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" }, { "displayName":"NONE" } ] } } } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "displayName":"Demo Tag Template", "fields":{ "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"NONE" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" } ] } } }, "source":{ "displayName":"Source of data asset", "isRequired":"true", "type":{ "primitiveType":"STRING" } } } }
Recherchez le paramètre entry-id
de Data Catalog pour votre table BigQuery.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID de projet Google Cloud
Méthode HTTP et URL :
GET https://datacatalog.googleapis.com/v1/entries:lookup?linkedResource=//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips
Corps JSON de la requête :
Request body is empty.
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id", "type": "TABLE", "schema": { "columns": [ { "type": "STRING", "description": "A code indicating the TPEP provider that provided the record. 1= ", "mode": "REQUIRED", "column": "vendor_id" }, ... ] }, "sourceSystemTimestamps": { "createTime": "2019-01-25T01:45:29.959Z", "updateTime": "2019-03-19T23:20:26.540Z" }, "linkedResource": "//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips", "bigqueryTableSpec": { "tableSourceType": "BIGQUERY_TABLE" } }
Créer un tag à partir du modèle et l'associer à votre table BigQuery
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID de projet Google Cloud
- entry-id : ID d'entrée de Data Catalog pour la table "trips" de l'ensemble de données de démonstration (renvoyé dans les résultats de recherche à l'étape précédente).
Méthode HTTP et URL :
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups/@bigquery/entries/entry-id/tags
Corps JSON de la requête :
{ "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "source":{ "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "doubleValue":113496874 }, "has_pii":{ "boolValue":false }, "pii_type":{ "enumValue":{ "displayName":"NONE" } } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id/tags/tag-id", "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "pii_type":{ "displayName":"PII type", "enumValue":{ "displayName":"NONE" } }, "has_pii":{ "displayName":"Has PII", "boolValue":false }, "source":{ "displayName":"Source of data asset", "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "displayName":"Number of rows in data asset", "doubleValue":113496874 } }, "templateDisplayName":"Demo Tag Template" }
Créer une vue d'ensemble de votre saisie
Dans la console Google Cloud, vous pouvez utiliser du texte enrichi pour décrire une entrée de votre projet Data Catalog.
Pour créer une vue d'ensemble de la table
trips
, accédez à la page de recherche Dataplex.Pour Choisir une plate-forme de recherche, sélectionnez Data Catalog comme mode de recherche.
Dans le champ de recherche, saisissez
demo_dataset
.Dans les résultats de recherche, vous voyez l'ensemble de données
demo_dataset
et la tabletrips
.Cliquez sur la table
trips
.La page Détails de la table BigQuery s'ouvre.
Cliquez sur Ajouter une présentation, puis saisissez du texte. Vous pouvez également inclure des images et du texte mis en forme.
Cliquez sur Enregistrer.
Ajouter un responsable des données pour votre saisie
Dans la console Google Cloud, vous pouvez ajouter un ou plusieurs responsables de données à une entrée de votre projet Data Catalog. Vous pouvez contacter le responsable des données pour une entrée de données pour obtenir plus d'informations à son sujet.
Pour créer une vue d'ensemble de la table
trips
, répétez les trois premières étapes de la section précédente.Cliquez sur l'icône Modifier le responsable, puis ajoutez une ou plusieurs adresses e-mail.
Vous pouvez ajouter un utilisateur avec un compte de messagerie autre que Google.
Cliquez sur Enregistrer.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer l'ensemble de données
Si nécessaire, accédez à la page BigQuery.
Dans le panneau Explorer, recherchez l'ensemble de données
demo_dataset
que vous avez créé.Cliquez sur l'option
Actions, puis sur Supprimer l'ensemble de données.Confirmez la suppression.
Supprimer le modèle de balise
Accédez à la page Data Catalog > Templates (Catalogue de données > Modèles).
Sélectionnez Modèle de tag de démonstration.
Sur la ligne, cliquez sur l'option
Actions, puis sur Supprimer ce modèle.Confirmez la suppression.
Étape suivante
Apprenez-en plus sur Data Catalog.
En savoir plus sur les métadonnées techniques et les métadonnées métier
Pour en savoir plus sur les modèles de tags, les tags publics et les tags privés, consultez Tags et modèles de tags.
Consultez la page Présentation des API et des bibliothèques clientes.