Ce guide explique comment activer et utiliser la découverte Dataplex Universal Catalog. Discovery analyse et extrait les métadonnées des données d'un lac de données, puis les enregistre dans Dataproc Metastore, BigQuery et Data Catalog (obsolète) à des fins d'analyse, de recherche et d'exploration.
Pour savoir comment utiliser la découverte automatique afin d'extraire et de cataloguer les données Cloud Storage qui ne sont pas associées à un lac, consultez Découvrir et cataloguer les données Cloud Storage.
Présentation
Pour chaque élément Dataplex Universal Catalog pour lequel la découverte est activée, Dataplex Universal Catalog effectue les opérations suivantes :
- Analyse les données associées au composant.
- Regroupe les fichiers structurés et semi-structurés dans des tableaux.
- Collecte les métadonnées techniques, telles que le nom de la table, le schéma et la définition de la partition.
Pour les données non structurées, telles que les images et les vidéos, Dataplex Universal Catalog Discovery détecte et enregistre automatiquement les groupes de fichiers partageant le même type de contenu multimédia en tant que ensembles de fichiers. Par exemple, si gs://images/group1
contient des images GIF et que gs://images/group2
contient des images JPEG, Dataplex Universal Catalog Discovery détecte et enregistre deux ensembles de fichiers. Pour les données structurées, telles qu'Avro, Discovery ne détecte les fichiers que s'ils se trouvent dans des dossiers contenant le même format et le même schéma de données.
Les tables et les ensembles de fichiers découverts sont enregistrés dans Data Catalog pour la recherche et la découverte. Les tables apparaissent dans Dataproc Metastore sous forme de tables de style Hive et dans BigQuery sous forme de tables externes. Les données sont ainsi automatiquement disponibles pour l'analyse.
Discovery accepte les formats de données structurées et semi-structurées suivants :
- Parquet
- Avro
- ORC
- JSON (uniquement le format délimité par un retour à la ligne)
- CSV (les fichiers CSV avec des lignes de commentaires ne sont pas acceptés)
Discovery accepte le format de compression suivant pour les données structurées et semi-structurées :
Compression interne pour ces formats :
Compression Exemple d'extension de fichier Format accepté gzip .gz.parquet Parquet lz4 .lz4.parquet Parquet Snappy .snappy.parquet Parquet, ORC, Avro lzo .lzo.parquet Parquet, ORC Compression externe pour les fichiers JSON et CSV :
- gzip
- bzip2
Configuration de la découverte
La découverte est activée par défaut lorsque vous créez une zone ou un élément. Vous pouvez désactiver Discovery au niveau de la zone ou de l'élément.
Lorsque vous créez une zone ou un composant, vous pouvez choisir d'hériter des paramètres de découverte au niveau de la zone ou de les remplacer au niveau du composant.
Voici les options de configuration de la découverte disponibles au niveau de la zone et de l'élément :
Découverte activée et désactivée
Planning de découverte : cette option peut être définie sur un planning prédéfini (par exemple, toutes les heures ou tous les jours) ou sur un planning personnalisé défini au format cron. Les nouveaux composants sont analysés lorsqu'ils sont ajoutés. Pour en savoir plus, consultez Configurer des planifications Cron. Recommandation : planifiez l'exécution de Discovery toutes les heures ou plus fréquemment.
Schéma d'inclusion ou d'exclusion : définissez les fichiers à inclure ou à exclure des analyses de découverte à l'aide de modèles glob dans le chemin d'inclusion ou d'exclusion. Par exemple, si vous souhaitez exclure
gs://test_bucket/foo/..
de la découverte, saisissez**/foo/*
comme chemin d'exclusion. Les guillemets entraînent des erreurs. Veillez à saisir**/foo/*
au lieu de"**/foo/*"
.) Cette fonction n'est disponible que pour les éléments Cloud Storage. Lorsque des modèles d'inclusion et d'exclusion existent en même temps, les modèles d'exclusion sont appliqués en premier.Spécifications JSON ou CSV : vous permettent de fournir des informations supplémentaires sur les données semi-structurées, telles que CSV et JSON, afin d'améliorer la précision des résultats de la découverte.
Pour les fichiers CSV, vous pouvez fournir l'un des éléments suivants :
Délimiteur : ce champ accepte un caractère, à l'exception de
\r
et\n
. Si plusieurs caractères sont fournis, seul le premier caractère de la chaîne est utilisé. Si aucun délimiteur n'est spécifié, Discovery utilise une virgule.Nombre de lignes d'en-tête : ce champ accepte les valeurs
0
ou1
. La valeur par défaut est0
. Lorsque la valeur est0
, Discovery effectue une inférence d'en-tête. Si un en-tête est détecté, Discovery extrait les noms de colonnes de l'en-tête et réinitialise la valeur sur1
.Encoding : ce champ accepte les noms d'encodage de chaîne, tels que
UTF-8
,US-ASCII
ouISO-8859-1
. Si rien n'est spécifié,UTF-8
est utilisé par défaut.Désactiver l'inférence de type : ce champ accepte une valeur booléenne. Il est défini sur
false
par défaut. Pour les données CSV, si vous désactivez l'inférence de type, toutes les colonnes sont enregistrées en tant que chaînes.
Pour les fichiers JSON, vous pouvez fournir l'un des éléments suivants :
Encoding : ce champ accepte les noms d'encodage de chaîne, tels que
UTF-8
,US-ASCII
ouISO-8859-1
. Si rien n'est spécifié,UTF-8
est utilisé par défaut.Désactiver l'inférence du type de données : ce champ accepte une valeur booléenne. Il est défini sur
false
par défaut. Pour les données JSON, si vous désactivez l'inférence de type, toutes les colonnes sont enregistrées avec leurs types primitifs (chaîne, nombre ou booléen).
Publier des métadonnées
Lorsque vous créez une zone de données dans votre lac Dataplex Universal Catalog, Dataplex Universal Catalog crée un ensemble de données BigQuery dans le projet contenant le lac. Dataplex Universal Catalog publie les tables dans cet ensemble de données pour les tables découvertes dans les buckets Cloud Storage ajoutés à la zone de données en tant qu'éléments. L'ensemble de données est appelé ensemble de données de publication des métadonnées correspondant à la zone.
Chaque zone de données Dataplex Universal Catalog correspond à un ensemble de données dans BigQuery ou à une base de données dans Dataproc Metastore, où les informations de métadonnées sont automatiquement disponibles.
Vous pouvez modifier les métadonnées détectées automatiquement, telles que le nom ou le schéma de la table, à l'aide de l'API Dataplex.
Afficher les tables et les ensembles de fichiers détectés
Vous pouvez rechercher des tables et des ensembles de fichiers découverts dans la vue Recherche du catalogue universel Dataplex de la console Google Cloud .
Pour obtenir des résultats de recherche plus précis, utilisez des filtres spécifiques à Dataplex Universal Catalog, tels que les noms de lacs et de zones de données. Les 50 premiers éléments par facette s'affichent dans la liste des filtres. Vous pouvez trouver d'autres éléments à l'aide du champ de recherche.
Chaque entrée contient des métadonnées techniques et opérationnelles détaillées.
Sur la page des détails de l'entrée, vous pouvez interroger la table dans BigQuery et afficher les détails d'enregistrement Dataproc Metastore correspondants.
Si une table Cloud Storage peut être publiée dans BigQuery en tant que table externe, les informations suivantes s'affichent dans la vue des détails de son entrée :
- Références aux tables externes BigQuery
- Un bouton Ouvrir dans BigQuery pour commencer à analyser les données dans BigQuery
Les entrées de métadonnées du catalogue universel Dataplex sont directement visibles et consultables dans Data Catalog. Pour en savoir plus, consultez la documentation de référence sur la recherche dans Data Catalog.
Toutes les entrées détectées sont visibles via l'API Dataplex.
Actions de découverte
La découverte déclenche les actions d'administrateur suivantes chaque fois que des problèmes liés aux données sont détectés lors des analyses.
Format de données non valide
Voici quelques exemples d'actions :
Format de données incohérent dans un tableau. Par exemple, des fichiers de différents formats existent avec le même préfixe de table.
Format de données non valide dans les zones organisées (données non au format Avro, Parquet ou ORC).
Schéma incompatible
Voici quelques exemples d'actions :
Un schéma détecté par Discovery est incompatible avec le schéma de table actif dans l'API de métadonnées de Dataproc Metastore. Le schéma A et le schéma B sont incompatibles dans les scénarios suivants :
A et B partagent des champs portant le même nom, mais avec des types de données différents et incompatibles. Par exemple, chaîne et entier.
A et B n'ont aucun champ en commun.
A et B comportent au moins un champ non nullable introuvable dans l'autre schéma.
Écart de schéma par rapport à un schéma géré par l'utilisateur dans la zone organisée.
Définition de partition non valide
Voici quelques exemples d'actions :
Les noms de partition sont incohérents. Par exemple,
gs://sales_data/year=2020/month=10/day=01
etgs://sales_data/year=2020/region=us
.Nommage des partitions non conforme à Hive dans la zone de données organisées. Par exemple,
gs://sales_data/2020/10/01
au lieu degs://sales_data/year=2020/month=10/day=01
.
Données manquantes
Voici quelques exemples d'actions :
- Dans la zone de données organisées, les données sous-jacentes d'un tableau ou d'un ensemble de fichiers enregistrés n'existent plus. En d'autres termes, une table ou un ensemble de fichiers de zone organisée a été découvert et enregistré, mais ses données sous-jacentes ont été supprimées par la suite. Pour résoudre ce problème, vous pouvez soit compléter les données, soit supprimer l'entrée de métadonnées.
Résoudre les actions Discovery
Les données avec actions sont vérifiées par les analyses de découverte ultérieures. Lorsque le problème qui déclenche l'action est résolu, l'action est automatiquement résolue lors de la prochaine analyse Discovery planifiée.
Autres actions Discovery
En plus des actions de découverte précédentes, il existe trois autres types d'actions liées à la propagation de l'état des ressources et des règles de sécurité dans Dataplex Universal Catalog.
Ressource manquante : le bucket ou l'ensemble de données sous-jacent correspondant à un asset existant est introuvable.
Ressource non autorisée : Dataplex Universal Catalog ne dispose pas des autorisations suffisantes pour effectuer la découverte ou appliquer des règles de sécurité au bucket ou à l'ensemble de données gérés par Dataplex Universal Catalog.
Problèmes de propagation des règles de sécurité : les règles de sécurité spécifiées pour un lac, une zone ou un composant donné n'ont pas pu être propagées aux buckets ou aux ensembles de données sous-jacents. Alors que toutes les autres actions se situent au niveau du composant, ce type d'action peut être déclenché au niveau du lac, de la zone et du composant.
Ces types d'actions sont résolus automatiquement lorsque les problèmes de configuration de la ressource ou de sécurité sous-jacents sont corrigés.
Questions fréquentes
Que dois-je faire si le schéma déduit par Discovery est incorrect ?
Si le schéma inféré est différent de celui attendu pour une table donnée, vous pouvez le remplacer en mettant à jour les métadonnées à l'aide de l'API Metadata.
Assurez-vous de définir userManaged
sur true
afin que votre modification ne soit pas écrasée lors des analyses Discovery ultérieures.
Comment exclure des fichiers d'un scan de découverte ?
Par défaut, Discovery exclut certains types de fichiers de l'analyse, y compris les suivants :
_SUCCESS
_started
_committed
_metadata
,_METADATA
,_Metadata
_common_metadata
,_COMMON_METADATA
- Fichiers commençant par
README
oureadme
- Répertoires commençant par
base_
,delta_
,delete_delta_
,bucket_
, suivis d'un chiffre - Répertoires commençant par
.
Vous pouvez spécifier des modèles d'inclusion ou d'exclusion supplémentaires à l'aide de la configuration Discovery au niveau de la zone ou de l'élément, ou à l'aide de l'API Metadata.
Que dois-je faire si le regroupement de tableaux détecté par Discovery est trop précis ?
Si les tables détectées par Discovery sont plus détaillées que le chemin racine de la table (par exemple, si chaque partition individuelle est enregistrée en tant que table), plusieurs raisons peuvent l'expliquer :
Il existe des différences de format, comme un mélange de fichiers Avro et Parquet, dans le chemin d'accès racine de la table attendue, qui divisent la table en groupes plus petits.
Il existe différents types d'incompatibilités de schéma dans le chemin d'accès racine du tableau attendu, qui divisent le tableau en groupes plus petits.
Pour résoudre ce problème, vous pouvez procéder de l'une des manières suivantes :
Corrigez les différences de format ou de schéma afin que tous les fichiers du même chemin d'accès racine de table aient un format cohérent et un schéma compatible.
Excluez les fichiers hétérogènes en utilisant la configuration du modèle d'exclusion dans la configuration de la zone / de l'élément ou dans l'API de métadonnées.
Après avoir effectué l'une des étapes correctives, lors de la prochaine analyse de découverte, les événements suivants se produiront :
- Les tables de niveau inférieur existantes sont automatiquement supprimées de l'API Dataplex, BigQuery, Dataproc Metastore et Data Catalog.
- Une nouvelle table de niveau supérieur est créée à la place, avec le chemin d'accès racine attendu.
Comment spécifier les noms de tables ?
Vous pouvez spécifier des noms de tables à l'aide de l'API Metadata.
Que se passe-t-il si je crée des tables manuellement dans Dataproc Metastore ou BigQuery ?
Lorsque la découverte est activée pour un élément donné, vous n'avez pas besoin d'enregistrer manuellement les entrées dans Dataproc Metastore ni dans BigQuery.
Vous pouvez définir manuellement le nom de la table, le schéma et les définitions de partition, tout en désactivant la découverte du catalogue universel Dataplex. Vous pouvez également procéder comme suit :
- Créez une table en spécifiant uniquement les informations requises, comme le chemin d'accès racine de la table.
- Utilisez Dataplex Universal Catalog Discovery pour remplir le reste des métadonnées, telles que les définitions de schéma et de partition.
- Maintenez les métadonnées à jour.
Que faire si ma table ne s'affiche pas dans BigQuery ?
Bien que les métadonnées du catalogue universel Dataplex soient toutes enregistrées de manière centralisée dans l'API de métadonnées, seules les tables Cloud Storage compatibles avec BigQuery sont publiées dans BigQuery en tant que tables externes. Dans les détails des entrées de table de l'API Metadata, vous trouverez un indicateur de compatibilité BigQuery qui indique quelles entités sont publiées dans BigQuery et pourquoi.
Limites
- Discovery n'est pas compatible avec les tables externes, y compris les tables externes BigLake. Toutefois, les tables externes sont automatiquement ingérées dans Dataplex Universal Catalog. Vous pouvez donc les rechercher dans Dataplex Universal Catalog.
Étapes suivantes
- Découvrez comment utiliser les métadonnées.