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'asset.
- Regroupe les fichiers structurés et semi-structurés dans des tableaux.
- Collecte des 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 partageant le même type de média en tant que 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 apparaissent dans Dataproc Metastore sous la forme de tables de style Hive et dans BigQuery sous la forme de tables externes, de sorte que les données soient 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 commentaire 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, 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 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 élément, vous pouvez choisir d'hériter des paramètres de découverte au niveau de la zone ou de remplacer les paramètres de découverte au niveau de l'élément.
Voici les options de configuration de Discovery disponibles au niveau de la zone et de l'élément :
Découverte activée et désactivée :
Calendrier de découverte : cette option peut être définie sur un calendrier prédéfini (par exemple, toutes les heures ou tous les jours) ou sur un calendrier personnalisé défini au format cron. Les nouveaux éléments sont analysés lorsqu'ils sont ajoutés. Pour en savoir plus, consultez la section Configurer des planifications Cron. Recommandation : Planifiez la diffusion de vos campagnes Discovery toutes les heures ou moins fréquemment.
Modèle 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 Discovery, saisissez**/foo/*
comme chemin d'exclusion. Les guillemets provoquent 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 Discovery.
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é. Si ce champ n'est pas spécifié, Discovery utilise une virgule comme séparateur.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 aucun de ces éléments 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é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'une des options suivantes :
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 mises à disposition.
Vous pouvez modifier les métadonnées découvertes automatiquement, comme 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 lacs et de zones de données. Les 50 principaux éléments par facette sont affiché 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.
À partir de la page des détails 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'informations sur l'entrée :
- Références de tables externes BigQuery
- Un bouton Ouvrir dans BigQuery pour commencer à analyser les données dans BigQuery.
Les entrées de métadonnées Dataplex sont directement visibles et recherchables dans 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é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
Ceci inclut les actions suivantes :
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 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, une chaîne et un entier.
Les champs A et B ne se chevauchent pas.
A et B comportent au moins un champ non facultatif introuvable dans l'autre schéma.
Écart de schéma par rapport à un schéma géré par l'utilisateur dans la zone sélectionnée.
Définition de partition non valide
Ceci inclut les actions suivantes :
Noms de partition incohérents. Par exemple,
gs://sales_data/year=2020/month=10/day=01
etgs://sales_data/year=2020/region=us
.Nom de partition non 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
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écouverte et enregistrée, 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 correspondant à un élément existant est introuvable.
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 de propagation des règles de sécurité : les règles de sécurité spécifiées pour un lac, une zone ou un élément donnés n'ont pas pu être propagées aux buckets ou aux ensembles de données sous-jacents. Alors que toutes les autres actions sont au niveau de l'asset, ce type d'action peut être défini au niveau du lac, de la zone et de l'asset.
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 des modèles d'inclusion ou d'exclusion supplémentaires à l'aide de la configuration de découverte au niveau de la zone ou de l'élément, ou à l'aide de l'API de métadonnées.
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, comme un mélange de fichiers Avro et Parquet, dans le chemin d'accès racine de la table attendue, qui divise la table en petits groupes.
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.
Pour résoudre ce problème, vous pouvez procéder de deux manières :
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 à l'aide de la configuration du format d'exclusion dans la configuration de la zone/de l'élément ou dans l'API de métadonnées.
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 existantes sont automatiquement supprimées de l'API de métadonnées Dataplex, de BigQuery, de Dataproc Metastore et de Data Catalog.
- Une table de niveau supérieur avec le chemin d'accès racine de la table 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éez une table en spécifiant uniquement 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, telles que 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, uniquement les tables Cloud Storage compatibles avec BigQuery 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.