Ce document explique comment créer des tâches liées à la qualité des données Knowledge Catalog, qui vous permettent de planifier et d'exécuter des contrôles de la qualité des données de vos tables BigQuery intégrées et externes.
Pour en savoir plus, consultez Présentation des tâches liées à la qualité des données.
Avant de commencer
Ce document suppose que vous disposez déjà d'un lac Knowledge Catalog dans lequel créer la tâche liée à la qualité des données.
Activer les API et services Google
Activez l'API Dataproc.
Activez l'accès privé à Google pour votre réseau ou votre sous-réseau. Activez l'accès privé à Google sur le réseau que vous prévoyez d'utiliser pour les tâches liées à la qualité des données Knowledge Catalog. Si vous ne spécifiez pas de réseau ni de sous-réseau lorsque vous créez la tâche liée à la qualité des données Knowledge Catalog, Knowledge Catalog utilise le sous-réseau par défaut. Dans ce cas, vous devez activer l'accès privé à Google sur le sous-réseau par défaut.
Créer un fichier de spécification
Knowledge Catalog utilise CloudDQ Open Source comme programme de pilote. Les exigences de contrôle de la qualité des données Knowledge Catalog sont définies dans des fichiers de spécification YAML de CloudDQ.
Comme entrée de la tâche liée à la qualité des données, vous pouvez avoir un fichier YAML ou une archive ZIP contenant un ou plusieurs fichiers YAML. Il est recommandé de capturer les exigences de contrôle de la qualité des données dans des fichiers de spécification YAML distincts, avec un fichier pour chaque section.
Pour préparer un fichier de spécification, procédez comme suit :
-
Créez un ou plusieurs fichiers de spécification YAML CloudDQ qui définissent vos exigences de contrôle de la qualité des données. Pour en savoir plus sur la syntaxe requise, consultez la section À propos des fichiers de spécification de ce document.
Enregistrez le fichier de spécification YAML au format
.ymlou.yaml. Si vous créez plusieurs fichiers de spécification YAML, enregistrez-les tous dans une même archive ZIP. - Créez un bucket Cloud Storage.
- Importez le fichier de spécification dans le bucket Cloud Storage.
À propos des fichiers de spécification
Votre fichier de spécification YAML CloudDQ doit comporter les sections suivantes :
Règles (définies dans le nœud YAML
rulesde premier niveau) : liste des règles à exécuter. Vous pouvez créer ces règles à partir de types de règles prédéfinis, commeNOT_NULLetREGEX, ou les étendre avec des instructions SQL personnalisées, telles queCUSTOM_SQL_EXPRetCUSTOM_SQL_STATEMENT. L'instructionCUSTOM_SQL_EXPRsignale comme un échec toutes les lignes quecustom_sql_expra évaluées commeFalse. L'instructionCUSTOM_SQL_STATEMENTsignale comme un échec toute valeur renvoyée par l'instruction entière.Filtres de lignes (définis dans le nœud YAML
row_filtersde premier niveau) : les expressions SQL renvoient une valeur booléenne qui définit les filtres permettant d'extraire un sous-ensemble de données de l'entité sous-jacente soumise à la validation.Liaisons de règles (définies dans le nœud YAML
rule_bindingsde premier niveau) : définit les règles (rules) et filtres de règles (rule filters) à appliquer aux tables.Dimensions de règle (définies dans le nœud YAML
rule_dimensions) : définit la liste des dimensions de règle de qualité des données qu'une règle peut définir dans le champdimensioncorrespondant.Exemple :
rule_dimensions: - consistency - correctness - duplication - completeness - conformance
Le champ
dimensionest facultatif pour une règle. La section des dimensions de règle est obligatoire sidimensionapparaît dans une règle.
Pour en savoir plus, consultez le guide de référence de CloudDQ et les exemples de fichiers de spécification.
Créer un ensemble de données pour stocker les résultats
-
Pour stocker les résultats, vous devez créer un ensemble de données BigQuery.
L'ensemble de données doit se trouver dans la même région que les tables sur lesquelles vous exécutez la tâche liée à la qualité des données.
Knowledge Catalog utilise cet ensemble de données, et crée ou réutilise une table de votre choix pour stocker les résultats.
Créer un compte de service
Créez un compte de service disposant des rôles et autorisations IAM (Identity and Access Management) suivants :
- Accès en lecture au chemin d'accès Cloud Storage contenant les spécifications YAML. Vous pouvez utiliser le rôle Lecteur d'objets Storage (
roles/storage.objectViewer) sur le bucket Cloud Storage. - Accès en lecture aux ensembles de données BigQuery contenant les données à valider.
Vous pouvez utiliser le rôle Lecteur de données BigQuery (
roles/bigquery.dataViewer). - Accès en écriture à l'ensemble de données BigQuery où créer une table (si nécessaire) pour y écrire les résultats. Vous pouvez utiliser le rôle Éditeur de données BigQuery (
roles/bigquery.dataEditor) au niveau de l'ensemble de données. - Rôle Utilisateur de tâche BigQuery (