Scroll Top

Step By Step : Databricks Genie Spaces – L’analyse de données en langage naturel

RAFIK BELLAHSENE, DATA ARCHITECT

Objectif

Offrir aux utilisateurs métier des outils d’analyse de données basés sur le langage naturel

Contexte

Cet article présente la mise en place d’espaces de travail « Genie Space » au sein de Databricks, visant à faciliter l’interaction avec les données

Prérequis

Afin de créer des Genie Space, vous devez :

  • Disposer d’un espace de travail Databricks avec Unity Catalog activé
  • Avoir la permission CAN USE sur un SQL WAREHOUSE (Pro ou Serverless)
  • Avoir activé l’assistant Databricks (cf. lien)
  • Disposer des droits sur les schémas et tables à partager

          Afin de pouvoir requêter les données exposées au sein d’un Espace Genie, vous devez :

  • Avoir la permission SELECT sur les tables / vues exposées
  • Avoir la permission CAN USE sur le catalogue et le schéma exposé
Mise en place de Genie Space

Définition

Les Espaces Genie, alimentés par DatabricksIQ, offrent aux utilisateurs métier une interface d’analyse de données sans code. Grâce à l’interaction en langage naturel avec l’Assistant Databricks, aucune compétence en codage n’est requise.

Au préalable, les data analysts configurent ces espaces avec des jeux de données, des requêtes types, des directives textuelles et des règles métier, afin de permettre à l’assistant de traduire les questions métier en requêtes analytiques (SQL).

Une fois ces espaces configurés, les utilisateurs métier peuvent explorer et comprendre facilement leurs données opérationnelles par le biais de visuels obtenus en posant simplement des questions.

Principe de fonctionnement

Pour fournir des réponses pertinentes, l’assistant Databricks se base sur un certain nombre d’éléments :

  • Les noms et descriptions des tables : Ils permettent de contextualiser et de comprendre les ensembles de données disponibles dans les Espaces Genie
  • Les métadonnées des tables : Elles englobent des détails supplémentaires sur la structure et l’organisation des données, améliorant la compréhension de l’assistant
  • Les noms des colonnes

Il est important de noter que l’assistant n’accède pas directement aux données elles-mêmes. Son rôle se limite à traduire les demandes rédigées en langage naturel en requêtes SQL, en s’appuyant sur les métadonnées mentionnées ci-avant.

De plus, l’exposition des données au sein d’un Espace Genie respecte les permissions définies dans Unity Catalog, garantissant la sécurité des données. Cela inclut la sécurité au niveau des lignes (RLS) et le masquage des colonnes.

Création de l’espace Genie

Dans cette section, je vais créer un espace de travail « Genie Space » basé sur ma couche de données Gold

  1. Dans le menu de gauche, au sein de la section « SQL », cliquer sur Genie Spaces
Figure 1 : Création de Genie Spaces - Step 1

2. Une nouvelle fenêtre apparait. Cliquer sur « New Space »

Figure 2 : Création de Genie Spaces - Step 2

3. Entrez le nom de votre espace Genie, ainsi qu’une description

4. Choisir le compute SQL Warehouse

5. Choisir les tables constituant votre périmètre métier

6. Vous pouvez également définir des questions qui seront proposées par défaut à vos utilisateurs

Figure 3 : Création de Genie Spaces - Steps 3,4,5,6
Présentation du portail Genie Space

Le portail Genie Space est composé de 4 grandes rubriques :

Chat

L’espace Genie simplifie l’interaction avec l’assistant Databricks grâce à une interface intuitive. Une fenêtre de discussion principale centralise les échanges, tandis que des tuiles d’actions rapides orientent les utilisateurs. Un champ de texte permet de poser des questions ou de saisir des requêtes.

La disposition visuelle de la page se répartit comme suit :

  • 1 – En haut : les tuiles d’aide offrent une assistance contextuelle
  • 2 – En bas : le champ de saisie de texte pour les interactions
  • 3 – Dans le volet gauche : l’historique des conversations

 

DATA

Figure 4 : Onglet Chat

L’espace Genie offre une vue d’ensemble complète des tables partagées, facilitant la compréhension de leur structure.

Cet onglet dédié présente les informations suivantes :

  • Liste des tables partagées : un aperçu complet de toutes les tables disponibles dans l’espace Genie.
  • Structure des tables : une description détaillée de chaque table, incluant les champs, les types de données.

En regroupant ces informations dans un seul onglet, l’espace Genie rend le modèle sémantique plus accessible aux utilisateurs finaux, leur permettant de mieux comprendre les données disponibles et de les utiliser efficacement.

Figure 5 : Onglet Data

Instructions

Interface vous permettant de définir les règles métiers et les consignes qui guideront les réponses de l’assistant Genie.

En saisissant vos instructions dans cette interface, vous pouvez

  • Personnaliser l’expérience utilisateur en fonction de vos besoins. Par exemple, traduire les libellés et les noms de colonnes
  • Lui apprendre à répondre à des questions ou à effectuer des tâches particulières, en lui fournissant des examples et un contexte
Figure 6 : Onglet Instructions
Monitoring

Plateforme de surveillance et de suivi de l’activité au sein de l’espace Genie. Cette plateforme offre :

  • L’analyse des erreurs et des retours utilisateurs
  • Un suivi de l’activité au sein de l’espace Genie
Figure 7 : Onglet Monitoring
Interrogation de données en langage naturel

Dans cette partie, je vais interroger l’assistant Databricks concernant les données partagées avec moi. Le modèle sémantique utilisé comprend une table de dimension temps, une table de dimension véhicules, ainsi qu’une table de faits représentant les infractions de stationnement.

Je souhaite obtenir les informations suivantes :

  • Le nombre d’infractions commises par mois et par an
  • La saison de l’année où les infractions de stationnement sont les plus fréquentes

Le nombre d’infractions commises par mois et par an 

Figure 8 : Nombre d'infractions commises par mois et par an

Dans l’illustration ci-dessus, nous observons que l’assistant Databricks a converti notre demande exprimée en langage naturel en un résultat analytique exploitable (sous forme de visualisation ou de tableau).

Ceci est rendu possible par la conversion de notre demande en SQL, grâce aux métadonnées stockées dans Unity Catalog et au moteur DatabricksIQ. La requête générée par l’assistant est la suivante :

				
					SELECT
  d.year,
  CASE d.month
    WHEN 1 THEN 'Janvier'
    WHEN 2 THEN 'F\u00e9vrier'
    WHEN 3 THEN 'Mars'
    WHEN 4 THEN 'Avril'
    WHEN 5 THEN 'Mai'
    WHEN 6 THEN 'Juin'
    WHEN 7 THEN 'Juillet'
    WHEN 8 THEN 'Ao\u00fbt'
    WHEN 9 THEN 'Septembre'
    WHEN 10 THEN 'Octobre'
    WHEN 11 THEN 'Novembre'
    WHEN 12 THEN 'D\u00e9cembre'
  END AS month_in_french,
  COUNT(*) AS number_of_violations
FROM
  `cat-rbe-dev`.sch_gold.dim_date d
  JOIN `cat-rbe-dev`.sch_gold.f_parkingviolation pv ON d.Code = pv.IssueDate_Code
GROUP BY
  d.year,

				
			

La saison de l’année où les infractions de stationnement sont les plus fréquentes

En plus de présenter les résultats sous forme de tableau, l’assistant propose une variété de formats de visualisation des données tels que les graphiques en barres, les graphiques circulaires, etc.

Figure 9 : Répartition des infractions par saison de l’année
Conseils pratiques

Pour une analyse optimale dans les Espaces Genie, Databricks recommande de :

  • Bien annoter et décrire les tables au sein de Unity Catalog
  • Organiser les données en vues et restreindre uniquement les colonnes pertinentes pour le besoin métier
  • Limiter le nombre de tables (un maximum de 5 par Espace Genie; 25 Colonnes / Table)
Conclusion

Databricks Genie Space représente une solution de partage et d’analyse de données très efficace, spécialement conçue pour les professionnels souhaitant explorer et analyser leurs données de manière intuitive, sans nécessiter des compétences techniques avancées.

Cependant, malgré ses avantages, les résultats de l’assistant Databricks ne sont pas toujours parfaitement précis. Les requêtes SQL exécutées en arrière-plan peuvent parfois contenir des erreurs de syntaxe ou de sémantique. À ce stade, l’intervention d’un data analyst est nécessaire pour apporter des corrections, que ce soit en rectifiant les requêtes SQL elles-mêmes ou en fournissant des exemples de requêtes SQL et des instructions dans la section dédiée à cet effet.

Leave a comment

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.