Le catalogue de données
Le catalogue de la Data Platform dit quelles données existent, à qui elles appartiennent et qui peut les lire. Il s’appuie sur les tables Apache Iceberg de votre stockage objet : une table créée par un job, par Trino ou par un autre outil apparaît au catalogue, et le catalogue ne copie aucune donnée. Les buckets, le SQL et Iceberg sont décrits dans Données et SQL.
Une table, un nom, tous les moteurs
Section intitulée « Une table, un nom, tous les moteurs »Chaque job reçoit un catalogue Iceberg nommé graal, déjà configuré, dont l’espace de noms est celui de
votre organisation. Une table s’y désigne par son nom, sans adresse, sans jeton ni clé de stockage dans le
code :
| Moteur | Lire une table |
|---|---|
| Spark, local ou distribué | spark.table("ventes") |
| Python, jobs notebook, dbt | graal.read_table("ventes") |
| Dask | graal.read_table_dask("ventes") (lecture par les workers) |
| Flink | catalogue graal déclaré par un fichier SQL fourni au job |
| Ray | graal.load_table("ventes").scan().to_ray() |
Le jeton du run, qui n’existe que le temps de l’exécution, ouvre le catalogue ; aucune clé de stockage n’est placée dans les pods du run. Trino lit les mêmes tables : ce que Spark écrit, Trino le relit, et réciproquement.
Le catalogue suit Iceberg
Section intitulée « Le catalogue suit Iceberg »Le catalogue se synchronise avec les tables Iceberg réelles :
- à la fin de chaque run, à la demande (bouton « Resynchroniser » de la console ou
synchronize_catalogcôté agent) et en tâche périodique ; - une table créée hors d’un job, par exemple par une requête Trino, rejoint le catalogue ;
- une table supprimée du moteur est marquée supprimée et garde sa description, son propriétaire et ses étiquettes si elle revient ;
- les colonnes, leurs types (y compris imbriqués) et le nom utilisable dans Trino sont tenus à jour ; la description, le propriétaire, les étiquettes, le glossaire et la certification saisis par vos équipes ne sont jamais écrasés.
La fiche de table
Section intitulée « La fiche de table »La fiche d’une table se lit en huit onglets :
| Onglet | Ce qu’il montre |
|---|---|
| Vue d’ensemble | description, propriétaire, référents, étiquettes, certification, qualité |
| Schéma | colonnes, types, classification et étiquettes de chaque colonne |
| Aperçu | quelques lignes réelles, lues par Trino sous vos droits |
| Statistiques | lignes, fichiers, taille, partitionnement ; par colonne, valeurs nulles, minimum, maximum et valeurs distinctes |
| Historique | les versions (snapshots) de la table : date, opération, volume modifié |
| Lignage | d’où vient la table, jusqu’à la colonne |
| Usages | qui interroge la table |
| Définition | emplacement, format, propriétés Iceberg |
Depuis la fiche, la console propose d’ouvrir la table dans l’éditeur SQL ou dans un notebook, et d’en copier l’extrait de code pour Trino, Spark, Python, Dask, DuckDB ou JDBC.
Gouvernance
Section intitulée « Gouvernance »- Propriétaire et référents : une personne ou un groupe de votre annuaire.
- Étiquettes sur les tables et les colonnes.
- Certification : une table est certifiée ou déclarée obsolète ; l’auteur et la date sont enregistrés par la plateforme.
- Classification des colonnes : publique, interne, confidentielle, sensible ou données personnelles.
- Glossaire : des termes métier, qu’on rattache à des tables et à des colonnes, et dont on retrouve les actifs liés.
- Recherche à facettes : par couche, format, étiquette, propriétaire, certification, qualité, classification ou nom de colonne. Les résultats respectent vos droits : une table d’une couche que vous ne pouvez pas lire n’apparaît ni dans la liste ni dans les compteurs.
Les droits de lecture et de modification se posent par couche, avec les rôles de la plateforme (voir rôles et permissions). Chaque modification est tracée au journal d’audit.
Pour les agents : le serveur MCP
Section intitulée « Pour les agents : le serveur MCP »Les agents disposent de dix outils de plus pour le catalogue, en plus de list_catalog,
get_table, search_catalog et set_table_description : l’aperçu, les statistiques, l’historique des
versions, le glossaire, et les écritures de gouvernance (propriétaire, étiquettes, classification,
certification, synchronisation). Le chemin d’un agent va de la recherche à la requête : search_catalog,
get_table, preview_table, puis query_sql avec le nom qualifié de la table. Voir
Agents IA (MCP).
Un catalogue Iceberg REST standard
Section intitulée « Un catalogue Iceberg REST standard »Le catalogue Iceberg est un catalogue REST standard, Apache Polaris, adossé à la base PostgreSQL de la plateforme. Il fournit à chaque requête des identifiants de stockage limités à la table visée et applique les droits du catalogue jusque dans Trino : plus aucune clé de stockage partagée entre organisations, et un refus décidé par le moteur lui-même. Les droits que vous posez dans la console sont projetés dans le catalogue. Un moteur compatible avec le protocole REST d’Iceberg s’y branche avec les mêmes noms de tables.