Ce guide décrit les métadonnées Dataplex et explique comment utiliser les API Dataplex pour le 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 des images et des textes, pour extraire les métadonnées de l'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 manières suivantes:
- Data Catalog pour la recherche et l'ajout de tags
- Dataproc Metastore et BigQuery pour la table l'interrogation des métadonnées et le traitement des analyses.
API Dataplex
Cette section résume les API Dataplex et les ressources clés avec eux.
API du plan de contrôle
L'API du plan de contrôle Dataplex permet de créer la gestion des ressources de lac, de zone et d'élément.
Lac: Une instance de service Dataplex permettant de gérer les ressources de stockage dans projets dans une organisation.
Zone: Regroupement logique d'éléments dans un lac. Utiliser plusieurs zones dans un lac pour organiser les données en fonction de l'aptitude, de la charge de travail ou de la structure organisationnelle.
Composants: Les ressources de stockage, avec des données stockées dans des buckets Cloud Storage Ensembles de données BigQuery associés à une zone au sein d'un lac.
API Metadata
Utiliser l'API Dataplex Metadata pour créer et gérer des métadonnées dans les entités et les partitions de table et d'ensemble de fichiers. Dataplex analyse les données dans un lac ou que vous fournissez, pour créer des entités et des partitions. Les entités et les partitions conservent les références aux des ressources et des emplacements de stockage physiques.
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é de manière unique par l'ID d'entité et l'emplacement des données. Les métadonnées d'entité de table sont interrogeable dans BigQuery et Dataproc Metastore:
- Objets Cloud Storage:métadonnées pour les objets Cloud Storage accessibles via les API Cloud Storage.
- Tables BigQuery:métadonnées pour BigQuery qui sont accessibles via les API BigQuery.
- Entité d'ensemble de fichiers:
Métadonnées sur les données non structurées, généralement sans schéma. Les ensembles de fichiers sont identifié de manière unique par l'ID d'entité et l'emplacement des données. Chaque ensemble de fichiers possède format de données.
- Partitions:
Métadonnées pour un sous-ensemble de données dans une entité de table ou d'ensemble de fichiers, identifiée par un ensemble de paires clé-valeur et un emplacement de données.
Essayer l'API
Utiliser Dataplex lakes.zones.entities et lakes.zones.partitions pages de documentation de référence de l'API pour afficher les paramètres et les champs associés avec chaque API. Utilisez le panneau Essayer cette API qui accompagne la documentation de référence. permettant à chaque méthode d'API d'effectuer des requêtes API en utilisant des paramètres et champs différents. Vous pouvez créer, afficher et envoyer vos requêtes sans avoir à les générer 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.
Entités
Lister les entités
Pour limiter la liste des entités renvoyées par le service, ajoutez
filtre
paramètres de requête à l'URL de requête list entities
.
Obtenir l'entité
Par défaut, la réponse Get Entity
contient une entité de base
des métadonnées. Pour récupérer des métadonnées de schéma supplémentaires, ajoutez le
afficher
à l'URL de la requête.
Informations de compatibilité:tandis que les métadonnées Dataplex
est enregistrée de manière centralisée dans l'API Metadata, seules les métadonnées de table d'entités qui sont
compatible avec BigQuery et le métastore Apache Hive est publié
dans BigQuery et Dataproc Metastore.
L'API Get Entity
renvoie une
Le message CompatibilityStatus
, qui indique si les métadonnées de la table sont compatibles avec BigQuery et Hive Metastore.
et, si ce n'est pas le cas, le motif de l'incompatibilité.
Mettre à jour l'entité
Utilisez cette API pour modifier les métadonnées d'une entité, y compris si vous, ou Dataplex gère les métadonnées des entités.
- Cette API effectue un remplacement complet de tous les paramètres modifiables Entity (Entité). Les champs d'entité suivants sont immuables. Si vous les spécifiez dans une mise à jour, requête, ils seront ignorés:
- Spécifiez une valeur pour tous les champs d'entité modifiables, y compris tous schema, même si les valeurs ne sont pas modifiées.
- Fournissez le paramètre
ETag
. Pour obtenir l'ETag, envoyez d'abord un
entities.get,
qui renvoie l'
etag
de l'entité dans la réponse. - Mise à jour des 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 champs de schéma vides.
- Pour définir un champ répété, définissez le paramètre
mode
à
REPEATED
. Pour définir un champ de structure, définissez le paramètre àRECORD
. - Vous pouvez définir le paramètre
userManaged
du schéma pour indiquer si vous ou Dataplex qui gère les métadonnées d'une table. Le paramètre par défaut est Dataplex gérés. SiuserManaged
est défini sur "true", ce paramètre est incluses dans les informations renvoyées parentities.get
requête si EntityView est défini surSCHEMA
ouFULL
.
- Mise à jour des champs de partition:
- Pour les données partitionnées par un autre style que Hive, la découverte Dataplex
génère automatiquement des clés de partitionnement. Par exemple, pour le chemin d'accès aux données
gs://root/2020/12/31
, clés de partitionnementp0
,p1
etp2
sont générées. Pour rendre les requêtes plus intuitives, vous pouvez mettre à jourp0
,p1
etp2
pouryear
,month
etday
respectivement. - Si vous mettez à jour le style de partition vers Style HIVE, le champ de partitionnement est immuable.
- Pour les données partitionnées par un autre style que Hive, la découverte Dataplex
génère automatiquement des clés de partitionnement. Par exemple, pour le chemin d'accès aux données
- Mise à jour des autres champs de métadonnées:vous pouvez mettre à jour les champs générés automatiquement. mimeType, CompressionFormat, CsvOptions et JsonOptions pour faciliter la découverte de Dataplex. Dataplex la détection utilisera de nouvelles valeurs lors de sa prochaine exécution.
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.
Renseignez les champs obligatoires et facultatifs pertinents, ou laissez le Dataplex
le service de découverte, remplissez les champs facultatifs.
Supprimer l'entité
- Fournissez le paramètre
ETag
. Pour obtenir l'ETag, envoyez d'abord un
entities.get,
qui renvoie l'
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, la table ou les métadonnées de l'ensemble de fichiers sont automatiquement supprimées Analyse de la découverte. Si les données sous-jacentes d'une table d'une zone de données organisées sont supprimé, les métadonnées de la table ne sont pas supprimées en conséquence, mais plutôt l'action sur les données est signalée. Pour résoudre ce problème, supprimez explicitement la table de métadonnées via l'API Metadata.
Partitions
Lister les partitions
Pour limiter la liste des partitions renvoyées par le service, ajoutez
filtre
paramètres de requête à 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 le paramètre
les valeurs de clé à la fin de l'URL, formatées pour être lues comme
partitions/value1/value2/…./value10
Exemple: Si une partition possède 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
avec un double encodage. 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
avec /partitions/US%253ACA/CA%2523Sunnyvale
. Le champ "name" dans 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 la méthode
API partitions.create
. Spécifiez les attributs
position
par un chemin d'accès Cloud Storage.
Supprimer la partition
Complétez l'URL de la requête en ajoutant des valeurs de clé de partitionnement à la fin de
l'URL de la requête, dans le format suivant : partitions/value1/value2/…./value10
.
Exemple: Si une partition possède 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 au format
RFC-1034
ou doivent être encodés deux fois (par exemple, US:/CA#/Sunnyvale
).
en tant que US%3A/CA%3A/Sunnyvale
.
Étape suivante
- Apprenez-en plus sur l'accès aux métadonnées dans Apache Spark.