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 tag avec un schéma qui définit cinq champs de tag 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 métier pour votre entrée, y compris une présentation, le responsable des données et un tag.
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 l'ajout de tags incluent les tags publics et privés, les responsables des données et le 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 Explorateur, cliquez sur + AJOUTER DES DONNÉES et sélectionnez Public. ensembles de données de la liste.
Dans le panneau Marketplace, recherchez
New York taxi trips
, puis cliquez sur un résultat de recherche pertinent.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 le champ 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, laissez 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), puis sélectionnez-en une, par exempletlc_yellow_trips_2017
. Cliquez ensuite sur Copier.Dans le volet Copier la table, 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 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 l'article Tags publics et privés.
Dans un modèle de tag, les champs de tag sont facultatifs. Vous n'avez pas besoin d'indiquer de valeur pour un champ lorsque vous associez un tag à une entrée Data Catalog. Toutefois, si un modèle définit un champ comme obligatoire, vous devez fournir une valeur pour ce champ. Si cette valeur n'est pas spécifiée, 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 de modèle de tag créés dans cet exemple ne sont que des champs de démonstration. Ils ne sont pas mis à jour automatiquement 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 :
- Dans le champ Nom du modèle, saisissez
Demo Tag Template
. - Conservez l'emplacement par défaut.
- Conservez la visibilité du modèle de tag sur Public.
Cliquez sur Ajouter un champ pour ajouter cinq champs. Utilisez le tableau suivant et laissez vide la description du champ.
Nom à afficher du champ ID du champ Champ obligatoire Type Source de l'élément de données source Oui Chaîne Lignes dans 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
- Dans le champ Nom du modèle, saisissez
Cliquez sur Créer.
La page Détails du modèle répertorie toutes les informations concernant le modèle de balise.
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 Associer des tags, saisissez les informations suivantes:
- Sélectionnez la cible
trips
. - Sélectionnez le modèle de balise comme
Demo Tag Template
. - Pour les valeurs de tag, 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
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 Data Catalog Go.
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 de Java dans le Démarrage rapide de Data Catalog avec bibliothèques clientes. Pour en savoir plus, consultez les API Java Data Catalog documentation de référence.
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 de Node.js dans le Démarrage rapide de Data Catalog avec bibliothèques clientes. Pour en savoir plus, consultez les API Node.js Data Catalog documentation de référence.
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 Data Catalog Python.
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.
1. 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" } } } }
2. 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" } }
3. Créez un tag à partir du modèle et associez-le à 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 un aperçu de la table
trips
, accédez à la page de recherche Dataplex.Dans 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, l'ensemble de données
demo_dataset
et la tabletrips
s'affichent.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 des données à une entrée dans votre projet Data Catalog. Un responsable des données pour une entrée de données .
Pour créer un aperçu 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 votre suppression.
Supprimer le modèle de tag
Accédez à Data Catalog > 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
Pour en savoir plus sur Data Catalog, consultez la page Présentation de 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.