Ce guide explique comment activer et utiliser Dataplex Découverte. Analyses et extractions de découverte métadonnées à partir des données d'un lac de données et les enregistre Dataproc Metastore, BigQuery et Data Catalog pour l'analyse, la recherche et l'exploration.
Présentation
Pour chaque élément Dataplex pour lequel la découverte est activée, Dataplex effectue les opérations suivantes:
- Analyse les données associées à l'élément.
- Regroupe les fichiers structurés et semi-structurés en tables.
- 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
Discovery détecte et enregistre automatiquement les groupes de fichiers
en partageant le type de contenu
sous forme d'ensembles de fichiers. Par exemple, si gs://images/group1
contient des images GIF, et gs://images/group2
contient des images JPEG,
Dataplex Discovery détecte et enregistre deux
les ensembles de fichiers existants. 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 de données et le même schéma.
Les tables et ensembles de fichiers découverts sont enregistrés dans Data Catalog pour la recherche et la découverte. Les tables s'affichent dans Dataproc Metastore comme des tables de style Hive, et dans BigQuery en tant que tables externes. Ainsi, les données est automatiquement disponible pour analyse.
Discovery est compatible avec les métriques structurées et semi-structurées suivantes : formats de données:
- Parquet
- Avro
- ORC
- JSON (uniquement au format délimité par un retour à la ligne)
- CSV (les fichiers CSV contenant des lignes de commentaires ne sont pas acceptés)
Discovery accepte le format de compression suivant pour 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, Oregon 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 un la zone ou l'élément. Vous pouvez désactiver la découverte au niveau de la zone ou de l'élément.
Lorsque vous créez une zone ou un élément, vous pouvez choisir d'hériter les paramètres de découverte au niveau de la zone ou les ignorer. Paramètres de découverte au niveau de l'élément.
Voici les options de configuration de la détection disponibles au niveau des zones et des éléments:
Découverte activée et désactivée :
Planning de découverte: cette option peut être définie sur une (par exemple, toutes les heures ou tous les jours, ou un calendrier personnalisé défini par une tâche Cron) . Les nouveaux éléments sont analysés lorsqu'ils sont ajoutés. Pour plus consultez la section Configurer des planifications Cron. Recommandation: Planifiez l'exécution de Discovery toutes les heures au maximum fréquemment.
Inclure ou exclure un format: permet de définir les fichiers à inclure ou à exclure. les analyses de découverte, à l'aide de schémas glob dans les champs "include" et exclure un chemin d'accès. Par exemple, si vous souhaitez exclure
gs://test_bucket/foo/..
de Discovery, saisissez**/foo/*
comme chemin d'exclusion. Guillemets provoque des erreurs. Veillez à saisir**/foo/*
au lieu de"**/foo/*"
.) Cette fonction n'est disponible que pour les éléments Cloud Storage. Lorsque les deux les modèles d'inclusion et d'exclusion existent simultanément, les modèles d'exclusion sont appliqué en premier.Spécifications JSON ou CSV: vous permet de fournir des informations supplémentaires. sur les données semi-structurées, comme CSV et JSON, pour améliorer la précision Résultats de la découverte
Pour les fichiers CSV, vous pouvez fournir l'un des éléments suivants:
Délimiteur: ce champ n'accepte qu'un seul 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ée. Si aucune valeur n'est fournie, Discovery utilise une virgule comme délimiteur.Nombre de lignes d'en-tête:ce champ accepte les valeurs
0
ou1
. La valeur par défaut est0
. Si la valeur est0
, Discovery effectue l'inférence d'en-tête, et si un en-tête est détecté, le système extrait les noms de colonne de l'en-tête et réinitialise la valeur sur1
.Encodage: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é comme par défaut.Désactiver l'inférence de type:ce champ accepte une valeur booléenne. Il est définie par défaut sur
false
. 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:
Encodage: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 de données:ce champ accepte une valeur booléenne. Il est définie par défaut sur
false
. Pour les données JSON, si vous désactivez l'inférence de type, toutes les colonnes sont enregistrées en tant que types primitifs (chaîne, nombre ou (booléen).
Publier les métadonnées
Lorsque vous créez une zone de données dans votre lac Dataplex, Dataplex crée un ensemble de données BigQuery dans le projet. contenant le lac. Dataplex publie les tables dans cet ensemble de données pour les tables découvertes dans les buckets Cloud Storage ajoutés au en tant qu'éléments. L'ensemble de données est appelé de l'ensemble de données de publication correspondant à la zone.
Chaque zone de données Dataplex est mappée à 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écouvertes automatiquement, telles que le nom ou le schéma d'une table, à l'aide de l'API Dataplex Metadata.
Afficher les tables et les ensembles de fichiers découverts
Vous pouvez rechercher les tables et les ensembles de fichiers découverts dans Dataplex la vue Rechercher de la console Google Cloud.
Pour obtenir des résultats de recherche plus précis, utilisez des filtres spécifiques à Dataplex. tels que les noms de lac et de zones de données. Les 50 principaux éléments par facette sont affiché dans la liste des filtres. Vous pouvez rechercher des éléments supplémentaires à l'aide des champ de recherche.
Chaque entrée contient des métadonnées techniques et opérationnelles détaillées.
À partir de la page d'informations de l'entrée, vous pouvez interroger la table dans BigQuery. et afficher les détails d'enregistrement correspondants de Dataproc Metastore.
Si une table Cloud Storage peut être publiée dans BigQuery en tant que table externe, vous pouvez voir ce qui suit dans la vue détaillée de l'entrée:
- Références de table externe BigQuery
- Un bouton permettant d'ouvrir dans BigQuery pour commencer à analyser les données dans BigQuery
Les entrées de métadonnées Dataplex sont directement visibles et incluses dans l'index de recherche de Data Catalog. Pour en savoir plus, consultez la documentation de référence sur la recherche dans Data Catalog.
Vous pouvez consulter toutes les entrées détectées via l'API de métadonnées Dataplex.
Actions de découverte
La détection déclenche les actions d'administrateur suivantes chaque fois que les problèmes liés aux données sont détectés lors des analyses.
Format de données non valide
Ceci inclut les actions suivantes :
Format de données incohérent dans un tableau. Par exemple, des fichiers de différents formats avec le même préfixe de table.
Format de données non valide dans les zones sélectionnées (données qui ne sont pas aux formats Avro, Parquet ou ORC).
Schéma incompatible
Ceci inclut les actions suivantes :
Un schéma détecté par Discovery est incompatible avec schéma de table actif dans l'API Metadata de Dataproc Metastore. Les schémas A et B ne sont pas compatibles si:
A et B partagent des champs ayant le même nom, mais différents et incompatibles types de données. Par exemple, chaîne et entier.
Les champs A et B ne se chevauchent pas.
A et B comportent au moins un champ non nullable, introuvable dans l'autre schéma.
Le schéma dérive par rapport à un schéma géré par l'utilisateur dans la zone de données organisées.
Définition de partition non valide
Ceci inclut les actions suivantes :
Nom des partitions incohérent. Par exemple :
gs://sales_data/year=2020/month=10/day=01
etgs://sales_data/year=2020/region=us
Nom des partitions de style "Non-Hive" dans la zone de données organisées. Pour exemple,
gs://sales_data/2020/10/01
au lieu degs://sales_data/year=2020/month=10/day=01
Données manquantes
Ceci inclut les actions suivantes :
- Dans la zone de données organisées, les données sous-jacentes d'une table enregistrée ou l'ensemble de fichiers n'existe plus. En d'autres termes, une table ou un ensemble de fichiers de zones organisées découvert et enregistré, mais plus tard, ses données sous-jacentes ont été supprimées. Vous pouvez résoudre ce problème en réapprovisionnant les données ou en en supprimant l'entrée de métadonnées.
Résoudre les actions de découverte
Les données comportant des actions sont vérifiées lors des analyses Discovery ultérieures. Lorsque le problème déclenchant l'action est résolu, l'action est résolue. automatiquement lors de la prochaine analyse de découverte planifiée.
Autres actions
En plus des actions de découverte précédentes, trois options s'offrent à vous Autres types d'actions liées à l'état des ressources et à la stratégie de sécurité les propagations dans Dataplex.
Ressource manquante: le bucket ou l'ensemble de données sous-jacent est introuvable correspondant à un élément existant.
Ressource non autorisée: Dataplex ne dispose pas de suffisamment de ressources autorisations permettant d'effectuer une détection ou d'appliquer des règles de sécurité au bucket ou à l'ensemble de données géré par Dataplex
Problèmes liés à la propagation des stratégies de sécurité: les stratégies de sécurité spécifiées pour la propagation d'un lac, d'une zone ou d'un élément donnés des buckets ou des ensembles de données sous-jacents. Si toutes les autres actions sont effectuées au niveau de l'élément ce type d'action peut être appliqué au niveau du lac, de la zone et de l'élément.
Ces types d'actions sont résolus automatiquement les problèmes de configuration de la sécurité sont résolus.
Questions fréquentes
Que dois-je faire si le schéma inféré par Discovery est incorrect ?
Si le schéma inféré est différent de celui attendu pour une table donnée, vous
peut remplacer le schéma inféré en mettant à jour les métadonnées à l'aide de la méthode
API metadata.
Veillez à définir
userManaged
à true
afin que votre modification ne soit pas écrasée dans les
Analyses de découverte.
Comment exclure des fichiers d'une analyse de découverte ?
Par défaut, Discovery exclut certains types de fichiers des y compris:
_SUCCESS
_started
_committed
_metadata
,_METADATA
,_Metadata
_common_metadata
,_COMMON_METADATA
- Fichiers commençant par
README
oureadme
- Les répertoires commençant par
base_
,delta_
,delete_delta_
,bucket_
, suivi d'un nombre - Répertoires commençant par
.
Vous pouvez spécifier d'autres formats d'inclusion ou d'exclusion à l'aide de la propriété la configuration de la découverte au niveau de la zone ou de l'élément, ou à l'aide de la API Metadata.
Que dois-je faire si le regroupement de tables détecté par Discovery est trop précis ?
Si les tables détectées par Discovery sont à un niveau plus précis par rapport au chemin d'accès racine de la table (par exemple, chaque individu est enregistrée en tant que table, il peut y avoir plusieurs raisons à cela:
Il existe des différences de format, telles qu'une combinaison de fichiers Avro et Parquet, dans chemin racine de table attendu, qui divise la table en regroupements plus petits.
Il existe différents types d'incompatibilités de schéma dans la table attendue chemin racine qui divise la table en groupes plus petits.
Vous pouvez résoudre ce problème de l'une des manières suivantes:
Corriger les différences de format ou de schéma afin que tous les fichiers de la même racine soient placés dans la même table ont un format cohérent et un schéma compatible.
Excluez les fichiers hétérogènes en utilisant la configuration du format d'exclusion dans le cadre de de la configuration de zone / élément ou de l'API Metadata.
Après avoir suivi l'une des mesures correctives nécessaires, L'analyse de découverte se produit comme suit:
- Les tables de niveau inférieur sont automatiquement supprimées l'API de métadonnées Dataplex, BigQuery, Dataproc Metastore et Data Catalog.
- Une table de niveau supérieur avec le chemin d'accès racine attendu est créée à la place.
Comment spécifier des 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 Discovery est activé pour un élément donné, vous n'avez pas besoin pour enregistrer manuellement des entrées dans Dataproc Metastore, dans BigQuery.
Vous pouvez définir manuellement des définitions de nom de table, de schéma et de partition, tandis que et désactiver la découverte de Dataplex. Par ailleurs, procédez comme suit:
- Créer une table en ne spécifiant que les informations requises, telles que le chemin d'accès racine de la table.
- Utilisez la découverte de Dataplex pour remplir le reste de les métadonnées, comme les définitions de schéma et de partition.
- Maintenez les métadonnées à jour.
Que faire si ma table n'apparaît pas dans BigQuery ?
Bien que les métadonnées Dataplex soient toutes enregistrées de manière centralisée dans le l'API Metadata, mais uniquement les tables Cloud Storage compatibles avec sont publiés dans BigQuery en tant qu'instances externes ; tableaux. Pour les détails des entrées de table dans l'API metadata, vous pouvez trouver un repère de compatibilité BigQuery quelles entités sont publiées dans BigQuery et pourquoi.
Étape suivante
- Découvrez comment utiliser les métadonnées.