Explorer, résoudre les problèmes et vérifier l’ingestion par lots avec SQL
Ce document explique comment vérifier et valider les enregistrements dans les lots ingérés avec SQL. Ce document vous apprend à :
- Accéder aux métadonnées du lot de jeux de données
- Résolution des problèmes et assurance de l’intégrité des données en interrogeant les lots
Conditions préalables
Pour faciliter votre compréhension des concepts abordés dans ce document, vous devez posséder des connaissances sur les sujets suivants :
- Ingestion des données : consultez la présentation de l’ingestion des données pour découvrir les principes de base de l’ingestion des données dans Experience Platform, y compris les différentes méthodes et processus impliqués.
- Ingestion par lots : consultez la présentation de l’API ingestion par lots pour découvrir les concepts de base de l’ingestion par lots. Plus précisément, ce qu’est un « lot » et comment il fonctionne dans le processus d’ingestion de données d’Experience Platform.
- Métadonnées système dans les jeux de données : consultez la présentation du service de catalogue pour savoir comment les champs de métadonnées système sont utilisés pour effectuer le suivi et l’interrogation des données ingérées.
- Modèle de données d’expérience (XDM) : consultez la présentation de l’interface utilisateur des schémas et les des principes de base de la composition des schémas pour en savoir plus sur les schémas XDM et sur la manière dont ils représentent et valident la structure et le format des données ingérées dans Experience Platform.
Accéder aux métadonnées du lot de jeux de données access-dataset-batch-metadata
Pour vous assurer que les colonnes système (colonnes de métadonnées) sont incluses dans les résultats de la requête, utilisez la commande SQL set drop_system_columns=false
dans votre Query Editor. Cela configure le comportement de votre session de requête SQL. Cette entrée doit être répétée si vous démarrez une nouvelle session.
Ensuite, pour afficher les champs système du jeu de données, exécutez une instruction SELECT all pour afficher les résultats du jeu de données, par exemple select * from movie_data
. Les résultats comprennent deux nouvelles colonnes sur le côté droit _acp_system_metadata
et _ACP_BATCHID
. Les colonnes de métadonnées _acp_system_metadata
et _ACP_BATCHID
permettent d’identifier les partitions logiques et physiques des données ingérées.
Lorsque des données sont ingérées dans Experience Platform, une partition logique leur est attribuée en fonction des données entrantes. Cette partition logique est représentée par _acp_system_metadata.sourceBatchId
. Cet identifiant permet de regrouper et d’identifier logiquement les lots de données avant qu’ils ne soient traités et stockés.
Une fois les données traitées et ingérées dans le lac de données, une partition physique représentée par _ACP_BATCHID
lui est attribuée. Cet identifiant reflète la partition de stockage réelle dans le lac de données où se trouvent les données ingérées.
Utilisation de SQL pour comprendre les partitions logiques et physiques understand-partitions
Pour comprendre comment les données sont regroupées et distribuées après ingestion, utilisez la requête suivante afin de compter le nombre de partitions physiques distinctes (_ACP_BATCHID
) pour chaque partition logique (_acp_system_metadata.sourceBatchId
).
SELECT _acp_system_metadata, COUNT(DISTINCT _ACP_BATCHID) FROM movie_data
GROUP BY _acp_system_metadata
Les résultats de cette requête sont affichés dans l’image ci-dessous.
Ces résultats montrent que le nombre de lots d’entrée ne correspond pas nécessairement au nombre de lots de sortie, car le système détermine la manière la plus efficace de traiter par lots et de stocker les données dans le lac de données.
Pour les besoins de cet exemple, on suppose que vous avez ingéré un fichier CSV dans Experience Platform et créé un jeu de données appelé drug_checkout_data
.
Le fichier drug_checkout_data
est un ensemble profondément imbriqué de 35 000 enregistrements. Utilisez l’SELECT * FROM drug_orders;
d’instructions SQL pour prévisualiser le premier ensemble d’enregistrements dans le jeu de données drug_orders
basé sur JSON.
L’image ci-dessous présente un aperçu du fichier et de ses enregistrements.
Utiliser SQL pour générer des informations sur le processus d’ingestion par lots sql-insights-on-batch-ingestion
Utilisez l’instruction SQL ci-dessous pour fournir des informations sur la manière dont le processus d’ingestion de données a regroupé et traité les enregistrements d’entrée par lots.
SELECT _acp_system_metadata,
Count(DISTINCT _acp_batchid) AS numoutputbatches,
Count(_acp_batchid) AS recordcount
FROM drug_orders
GROUP BY _acp_system_metadata
Les résultats de la requête sont affichés dans l’image ci-dessous.
Les résultats démontrent l’efficacité et le comportement du processus d’ingestion de données. Bien que trois lots d'entrées aient été créés — contenant chacun 2 000, 24000 et 9 000 enregistrements — lorsque les enregistrements ont été combinés et dédupliqués, il ne restait qu'un seul lot.
Valider un lot avec SQL validate-a-batch-with-SQL
Ensuite, validez et vérifiez les enregistrements qui ont été ingérés dans le jeu de données avec SQL.
Une fois que vous avez ingéré un lot, vous devez accéder à l’onglet Activité des jeux de données du jeu de données dans lequel vous avez ingéré des données.
Dans l’interface utilisateur d’Experience Platform, sélectionnez Jeux de données dans le volet de navigation de gauche pour ouvrir le tableau de bord Jeux de données. Sélectionnez ensuite le nom du jeu de données dans l’onglet Parcourir pour accéder à l’écran Activité du jeu de données.
La vue Activité du jeu de données s’affiche. Cette vue contient les détails du jeu de données sélectionné. Elle inclut tous les lots ingérés qui s’affichent au format tableau.
Sélectionnez un lot dans la liste des lots disponibles et copiez le Identifiant du lot dans le panneau des détails à droite.
Ensuite, utilisez la requête suivante pour récupérer tous les enregistrements qui ont été inclus dans le jeu de données dans le cadre de ce lot :
SELECT * FROM movie_data
WHERE _acp_batchid='01H00BKCTCADYRFACAAKJTVQ8P'
LIMIT 1;
Le mot-clé _ACP_BATCHID
est utilisé pour filtrer l’ID de lot.
LIMIT
est utile si vous souhaitez limiter le nombre de lignes affichées, mais une condition de filtre est plus souhaitable.Lorsque vous exécutez cette requête dans le Query Editor, les résultats sont tronqués à 100 lignes. Query Editor est conçu pour offrir des aperçus rapides et faciliter la recherche. Pour récupérer jusqu’à 50 000 lignes, vous pouvez utiliser un outil tiers tel que DBVisualizer ou DBeaver.
Étapes suivantes next-steps
En lisant ce document, vous avez appris les principes de base de la vérification et de la validation des enregistrements dans les lots ingérés dans le cadre du processus d’ingestion de données. Vous avez également obtenu des informations sur l’accès aux métadonnées des lots de jeux de données, la compréhension des partitions logiques et physiques et l’interrogation de lots spécifiques à l’aide de commandes SQL. Ces connaissances peuvent vous aider à assurer l’intégrité des données et à optimiser le stockage de vos données sur Experience Platform.
Ensuite, vous devez vous entraîner à ingérer des données pour appliquer les concepts appris. Ingérez un exemple de jeu de données dans Experience Platform avec les fichiers d’exemple fournis ou vos propres données. Si vous ne l’avez pas déjà fait, consultez le tutoriel sur la ingestion de données dans Adobe Experience Platform.
Vous pouvez également apprendre à connecter et vérifier Query Service à diverses applications de bureau clientes afin d’améliorer vos fonctionnalités d’analyse des données.