Métadonnées Dataplex

Ce guide décrit les métadonnées Dataplex et explique comment utiliser les API Dataplex pour les gérer.

Présentation

Dataplex analyse les éléments suivants:

  • Éléments de données structurées et semi-structurées dans des lacs de données, pour extraire les métadonnées d'une table dans des entités de table
  • Données non structurées, telles que les images et les textes, pour extraire les métadonnées d'ensemble de fichiers dans des entités d'ensemble de fichiers

Vous pouvez utiliser l'API Dataplex Metadata pour effectuer l'une des opérations suivantes:

  • Afficher, modifier et supprimer les métadonnées d'entité de table et d'ensemble de fichiers
  • Créer vos propres métadonnées d'entité de table ou d'ensemble de fichiers

Vous pouvez également analyser les métadonnées Dataplex de l'une des façons suivantes:

  • Data Catalog pour la recherche et l'ajout de tags
  • Dataproc Metastore et BigQuery pour l'interrogation et l'analyse des métadonnées de table

API Dataplex

Cette section récapitule les API Dataplex et les principales ressources associées.

API du plan de contrôle

L'API du plan de contrôle Dataplex permet de créer et de gérer les ressources du lac, de la zone et des éléments.

  • Lake : instance de service Dataplex permettant de gérer les ressources de stockage pour l'ensemble des projets d'une organisation.

  • Zone : regroupement logique d'éléments dans un lac. Utilisez plusieurs zones d'un lac pour organiser les données en fonction de l'aptitude, de la charge de travail ou de la structure organisationnelle.

  • Éléments : ressources de stockage avec des données stockées dans des buckets Cloud Storage ou des ensembles de données BigQuery associés à une zone d'un lac.

API Metadata

Utilisez l'API Dataplex Metadata pour créer et gérer des métadonnées dans des entités et des partitions de table et d'ensemble de fichiers. Dataplex analyse les éléments de données, qu'ils se trouvent dans un lac ou que vous fournissez, pour créer des entités et des partitions. Les entités et les partitions conservent des références aux éléments et aux emplacements de stockage physiques associés.

Concepts clés

Entité de table:

Métadonnées pour les données structurées avec des schémas bien définis. Les entités de table sont identifiées de manière unique par l'ID d'entité et l'emplacement des données. Les métadonnées d'entité de table peuvent être interrogées dans BigQuery et Dataproc Metastore:

  • Objets Cloud Storage:métadonnées des objets Cloud Storage, accessibles via les API Cloud Storage.
  • Tables BigQuery:métadonnées des tables BigQuery, accessibles via les API BigQuery.
Entité Fileset :

Métadonnées sur des données non structurées, généralement sans schéma. Les ensembles de fichiers sont identifiés de manière unique par l'ID d'entité et l'emplacement des données. Chaque ensemble de fichiers possède un format de données.

Partitions:

Métadonnées d'un sous-ensemble de données d'une entité de table ou d'ensemble de fichiers, identifiée par un ensemble de paires clé/valeur et un emplacement de données.

Try the API

Consultez les pages de documentation de référence de l'API Dataplex lakes.zones.entities et lakes.zones.partitions pour afficher les paramètres et les champs associés à chaque API. Utilisez le panneau Essayer cette API qui accompagne la documentation de référence de chaque méthode API pour effectuer des requêtes API à l'aide de différents paramètres et champs. Vous pouvez créer, afficher et envoyer vos requêtes sans avoir à générer des identifiants, puis afficher les réponses renvoyées par le service.

Les sections suivantes fournissent des informations pour vous aider à comprendre et à utiliser les API de métadonnées Dataplex.

Entities

Lister les entités

Pour limiter la liste des entités renvoyées par le service, ajoutez des paramètres de requête de filtre à l'URL de requête list entities.

Obtenir une entité

Par défaut, la réponse Get Entity contient les métadonnées d'entité de base. Pour récupérer des métadonnées de schéma supplémentaires, ajoutez le paramètre de requête view à l'URL de la requête.

Informations de compatibilité:bien que les métadonnées Dataplex soient enregistrées de manière centralisée dans l'API Metadata, seules les métadonnées de table d'entités compatibles avec BigQuery et Apache Hive Metastore sont publiées dans BigQuery et Dataproc Metastore. L'API Get Entity renvoie un message CompatibilityStatus qui indique si les métadonnées de la table sont compatibles avec BigQuery et le métastore Hive, et dans le cas contraire, la raison de l'incompatibilité.

Mettre à jour l'entité

Utilisez cette API pour modifier les métadonnées d'entité, y compris pour déterminer si vous ou Dataplex gérerez les métadonnées d'entité.

  • Cette API effectue un remplacement complet de tous les champs d'entité modifiables. Les champs d'entité suivants sont immuables et, si vous les spécifiez dans une requête de mise à jour, ils seront ignorés :
  • Spécifiez une valeur pour tous les champs d'entité modifiables, y compris tous les champs de schéma, même si les valeurs ne sont pas en cours de modification.
  • Renseignez le champ etag. Vous pouvez obtenir l'ETag en envoyant d'abord une requête entities.get, qui renvoie le etag de l'entité dans la réponse.
  • Mettre à jour les champs de schéma : vous pouvez mettre à jour le schéma de table détecté par Dataplex pour améliorer sa précision.
    • Si le schéma est un ensemble de fichiers, laissez tous les champs de schéma vides.
    • Pour définir un champ répété, définissez le mode sur REPEATED. Pour définir un champ de structure, définissez le type sur RECORD.
    • Vous pouvez définir le champ userManaged du schéma pour indiquer si vous ou Dataplex gérez les métadonnées de la table. Le paramètre par défaut est géré par Dataplex. Si userManaged est défini sur "true", ce paramètre est inclus dans les informations renvoyées par une requête entities.get si EntityView est défini sur SCHEMA ou FULL.
  • Mettre à jour les champs de partition:
    • Pour les données partitionnées non-Hive, la découverte Dataplex génère automatiquement des clés de partition. Par exemple, pour le chemin de données gs://root/2020/12/31, les clés de partition p0, p1 et p2 sont générées. Pour rendre les requêtes plus intuitives, vous pouvez remplacer p0, p1 et p2 par year, month et day, respectivement.
    • Si vous mettez à jour le style de partition pour utiliser le style HIVE, le champ de partition ne peut pas être modifié.
  • Mise à jour d'autres champs de métadonnées:vous pouvez mettre à jour les champs mimeType, CompressionFormat, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9ixdkxKelbx3x-D-UB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9ixdkxKelBEX4JsonOptions La découverte Dataplex utilisera les nouvelles valeurs lors de sa prochaine exécution. </a\>.

Créer une entité

Utilisez l'API entities.create pour créer des entités de métadonnées de table ou d'ensemble de fichiers. Remplissez les champs obligatoires et facultatifs, ou laissez le service de découverte Dataplex remplir les champs facultatifs.

Supprimer l'entité

  • Renseignez le champ etag. Vous pouvez obtenir l'ETag en envoyant d'abord une requête entities.get, qui renvoie le etag de l'entité dans la réponse.

Si les données sous-jacentes d'une table ou d'un ensemble de fichiers d'une zone brute sont supprimées, les métadonnées de la table ou de l'ensemble de fichiers sont automatiquement supprimées lors de la prochaine analyse de découverte. Si les données sous-jacentes d'une table dans une zone sélectionnée sont supprimées, les métadonnées de la table ne sont pas supprimées en conséquence, mais une action de données manquante est signalée. Pour résoudre ce problème, supprimez explicitement l'entité de métadonnées de table via l'API Metadata.

Partitions

Lister les partitions

Pour limiter la liste des partitions renvoyées par le service, ajoutez des paramètres de requête de filtre à l'URL de requête list partitions.

Exemples :

  • ?filter="Country=US AND State=CA AND City=Sunnyvale"
  • ?filter="year < 2000 AND month > 12 AND Date > 10"

Obtenir la partition

Pour obtenir une partition, vous devez compléter l'URL de la requête en ajoutant les valeurs de clé de partition à la fin de l'URL, au format partitions/value1/value2/…./value10.

Exemple: Si une partition contient des valeurs {Country=US, State=CA, City=Sunnyvale}, l'URL de la requête get doit se terminer par /partitions/US/CA/Sunnyvale.

Important:Les valeurs d'URL ajoutées doivent être encodées en double. Par exemple, url_encode(url_encode(value)) peut être utilisé pour encoder "US:CA/CA#Sunnyvale" afin que l'URL de la requête se termine par /partitions/US%253ACA/CA%2523Sunnyvale. Le champ "name" de la réponse conserve le format encodé.

Créer une partition

Pour créer une partition personnalisée pour votre source de données, utilisez l'API partitions.create. Spécifiez le champ location requis avec un chemin d'accès Cloud Storage.

Supprimer la partition

Complétez l'URL de requête en ajoutant des valeurs de clé de partition à la fin de l'URL de requête, au format partitions/value1/value2/…./value10.

Exemple: Si une partition contient des valeurs {Country=US, State=CA, City=Sunnyvale}, l'URL de la requête doit se terminer par /partitions/US/CA/Sunnyvale.

Important:Les valeurs d'URL ajoutées doivent être conformes à la norme RFC-1034 ou être encodées deux fois (par exemple, US:/CA#/Sunnyvale en tant que US%3A/CA%3A/Sunnyvale).

Étape suivante