Aller au contenu
AIGemini CLIAI AgentsbigqueryDataIACloud

[03] Streamlining Data Understanding avec Gemini CLI

J'ai généré des descriptions de datasets et de tables avec l'extension BigQuery Data Analytics pour Gemini CLI, et je vous partage ici mon retour d’expérience à travers quelques tests.

Gemini CLI - Streamlining Data Understanding

Simplifier la compréhension des données : génération de descriptions de Datasets et de Tables dans BigQuery avec Gemini CLI

En tant que professionnels des données, nous savons que les données brutes, aussi propres ou bien structurées soient-elles, ne représentent que la moitié du chemin. Pour en libérer toute la valeur, les données ont besoin de contexte. Ce contexte se présente souvent sous la forme de métadonnées : des descriptions qui expliquent le contenu d'un dataset, les tables qu'il contient et ce que représente chaque colonne. La génération et la maintenance manuelles de ces métadonnées peuvent être un processus fastidieux et sujet aux erreurs.

Cet article de blog vous guidera à travers une approche pratique pour générer et mettre à jour automatiquement les descriptions de datasets et de tables à l'aide de BigQuery, illustrée par des exemples tirés d'un dataset de films.

Le défi : des données sans contexte

Imaginez que vous rencontriez un nouveau dataset nommé "Movies" avec des tables comme movies_data et credits. Sans aucune documentation, comprendre son contenu nécessite une exploration manuelle fastidieuse. De quel type de films s'agit-il ? D'où proviennent les données ? Que signifient réellement idgenres ou popularity ?

Notre objectif est d'enrichir automatiquement ce dataset avec des descriptions claires et concises.

Étape 1 : génération initiale de la description du Dataset

La première étape consiste à générer une description de haut niveau pour l'ensemble du dataset. Cela fournit un aperçu du dataset, de sa source et de la manière dont ses composants principaux (tables) sont structurés.

Dans notre scénario, nous avons commencé par demander une description du dataset. Le système, grâce à sa compréhension des schémas de données et des modèles courants, a proposé la description suivante pour notre dataset "Movies" :

Ce dataset fournit des informations complètes sur les films, provenant de The Movie Database (TMDB). Il est organisé en deux tables principales : movies_data et credits. Les tables peuvent être jointes à l'aide de la colonne id, qui est un identifiant unique pour chaque film.

Cette suggestion initiale est un excellent point de départ, mais il est crucial de vérifier son exactitude.

Exemple de génération de description pour un dataset
Exemple de génération de description pour un dataset

Étape 2 : validation et affinement

La précision est primordiale. Nous devons nous assurer que la description générée reflète fidèlement les données. Cela implique :

  1. Vérification de la source : Les données proviennent-elles bien de TMDB ?
  2. Alignement du schéma : Les tables et colonnes décrites correspondent-elles à la structure réelle des données ?
  3. Vérifications ponctuelles du contenu : Un échantillon de ligne confirme-t-il la nature des données ?

Nous pouvons effectuer une requête SQL rapide dans BigQuery pour valider le contenu. Par exemple, pour vérifier si un id spécifique correspond à un film connu :

SELECT * FROM <project_id>.Movies.movies_data WHERE id = 116741

Si le résultat confirme "The Internship" pour l'ID 116741, nous gagnons en confiance quant à l'origine TMDB. Sur la base de ces vérifications, la description initiale peut être affinée pour être plus complète et précise.

Voici un exemple de description de dataset affinée :

Ce dataset contient des informations complètes sur les films, provenant de The Movie Database (TMDB). Il est structuré en deux tables principales, movies_data et credits, qui peuvent être liées pour offrir une vue complète des productions cinématographiques.

Tables :movies_data : Il s'agit de la table principale contenant des attributs détaillés pour plus de 45 000 films. Les colonnes clés incluent : idtitleoverviewgenresbudget and revenuerelease_datepopularityruntime.credits : Cette table contient les informations sur le casting et l'équipe technique de chaque film. Elle comprend idcast_memberscrew.

Utilisation :

Les deux tables peuvent être jointes à l'aide de la colonne id. Ce dataset est idéal pour un large éventail de tâches d'analyse de données, telles que l'exploration des tendances par genre de film, l'analyse de la corrélation entre le budget et les revenus, et l'étude des filmographies d'acteurs ou de réalisateurs spécifiques.
Exemple de validation
Exemple de validation

Étape 3 : Mise à jour de la description du Dataset dans BigQuery

Une fois satisfait de la description, nous pouvons l'appliquer directement à notre dataset BigQuery à l'aide de la commande ALTER SCHEMA.

ALTER SCHEMA '<project_id>.Movies' SET OPTIONS (description = """Ce dataset contient des informations complètes sur les films...""")

Cette commande met à jour les métadonnées de description pour l'ensemble du dataset dans BigQuery. Lorsque vous visualiserez le dataset dans la console BigQuery, cette description sera désormais facilement disponible, offrant un contexte immédiat à toute personne y accédant.

Mise à jour de la description du Dataset dans BigQuery
Mise à jour de la description du Dataset dans BigQuery
  • Résultat dans BigQuery
Résultat dans BigQuery
Résultat dans BigQuery

Étape 4 : génération des descriptions de tables

Au-delà du dataset, les tables individuelles bénéficient également de descriptions claires. Cela aide les utilisateurs à comprendre le rôle spécifique et le contenu de chaque table.

Nous pouvons générer des descriptions pour les tables movies_data et credits :

Description de la table credits :

Cette table fournit des informations sur le casting et l'équipe technique pour les films trouvés dans la table movies_data. Elle comprend des listes formatées en JSON des membres du casting et de l'équipe technique (tels que les réalisateurs et les producteurs). La colonne id est l'identifiant unique du film TMDB et agit comme une clé étrangère pour se lier à la table movies_data.

Description de la table movies_data :

Cette table contient des attributs détaillés pour plus de 45 000 films provenant de The Movie Database (TMDB). Chaque ligne représente un seul film. Les colonnes clés incluent le titre du film, un aperçu de l'intrigue, les chiffres du budget et des revenus, la date de sortie, le score de popularité et la durée. La colonne id sert d'identifiant unique pour chaque film et peut être utilisée pour joindre cette table avec la table credits.

De manière similaire à la description du dataset, les descriptions de tables sont mises à jour à l'aide de la commande ALTER TABLE, en spécifiant les OPTIONS pour la propriété description.

Exemple de validation
Exemple de génération des descriptions de tables

Conclusion

La génération et la maintenance de métadonnées robustes sont cruciales pour une gouvernance efficace des données et la démocratisation de l'accès aux données au sein d'une organisation. En tirant parti d'outils comme les commandes ALTER SCHEMA et ALTER TABLE de BigQuery, combinées à des processus de génération intelligents, nous pouvons automatiser et rationaliser la création de descriptions de datasets et de tables. Cela permet non seulement de gagner du temps, mais aussi d’améliorer considérablement la découvrabilité et la compréhension des données, afin que les utilisateurs puissent travailler plus efficacement et en toute confiance.

Adoptez les métadonnées — votre futur vous (et votre équipe de données) vous remerciera ! Chez SFEIR, nous guidons nos clients dans l'amélioration des métadonnées et dans l'outillage pour trouver efficacement la bonne donnée dans leur plateforme.

[01] BigQuery Conversational Analytics avec Gemini CLI
J’ai testé à travers l’extension BigQuery Conversational Analytics pour Gemini CLI et je vous partage mon expérience au travers de quelques tests.
[02] BigQuery Data Analytics avec Gemini CLI
J’ai testé l’extension BigQuery Data Analytics pour Gemini CLI et je vous partage mon expérience à travers quelques tests.

Dernier