Formation en IA & Data: Trino et Apache Iceberg : déploiement, administration et optimisation d'un Lakehouse - Ascent Formation
Retour aux formations
IA & Data

Trino et Apache Iceberg : déploiement, administration et optimisation d'un Lakehouse

3 jour(s) • 21h

Description

À l'issue de la formation, le stagiaire sera capable de comprendre l'architecture d'une plateforme Lakehouse fondée sur Trino et Apache Iceberg, de déployer ses composants, d'assurer son administration et sa maintenance courantes, de diagnostiquer les incidents et d'optimiser les performances. La formation est organisée autour de trois axes : comprendre (architecture et concepts), administrer (déploiement, sécurité et maintenance), optimiser (performances, observabilité et diagnostic). Un fil rouge pratique permet de manipuler une plateforme Trino/Iceberg représentative d'un environnement de production.

Objectifs pédagogiques

  • Situer Trino et Iceberg dans une architecture Lakehouse et comprendre leurs rôles respectifs
  • Comprendre les formats de stockage orientés colonnes et la distinction format de table / format de fichier
  • Maîtriser l'architecture de Trino : connecteurs, catalogues, exécution distribuée, lecture des plans
  • Maîtriser l'architecture d'Iceberg : métadonnées, snapshots, évolution de schéma, transactions, maintenance
  • Déployer, sécuriser et administrer une plateforme Trino/Iceberg
  • Diagnostiquer les incidents et optimiser les requêtes, l'organisation des données et la mémoire

Public concerné

Développeurs Java avec responsabilités DevOps, Profils en charge de la maintenance et de l'évolution d'une plateforme de données Trino/Iceberg, Exploitants amenés à administrer, diagnostiquer et optimiser un Lakehouse existant. Cette formation s'adresse à des profils qui travaillent déjà sur une application reposant sur Trino et Iceberg. Elle vise la montée en compétence sur l'exploitation : comprendre l'architecture existante, déployer les composants, assurer l'administration quotidienne, diagnostiquer les incidents et optimiser les performances. Elle ne vise pas à former des spécialistes du Big Data.

Prérequis

Maîtrise du langage SQL, Expérience du développement Java et de pratiques DevOps, Familiarité avec les conteneurs (Docker) et notions de stockage objet, Travailler ou être amené à travailler sur une plateforme intégrant Trino et Iceberg

Déroulé du programme

1

Jour 1 — Comprendre : architecture Lakehouse, stockage et Trino

2

Introduction au Data Lakehouse (cadrage rapide)

  • Positionnement de Trino et Iceberg dans une plateforme décisionnelle moderne
  • Architecture découplée stockage / compute / métadonnées
  • Rappel cadrant des apports du Lakehouse (sans reprise des fondamentaux, public déjà au contact de la techno)
3

Les formats de stockage

  • Principes des formats orientés colonnes : Parquet, Avro, ORC
  • Distinction format de fichier (Parquet/ORC/Avro) et format de table (Iceberg)
  • Organisation des données et impact sur les performances de lecture
4

Apache Trino : architecture et exécution

  • Architecture : coordinateur, workers, modèle d'exécution distribuée
  • Connecteurs et catalogues : principe et configuration
  • Rôle de Trino vis-à-vis d'Iceberg : Trino interroge et manipule des tables Iceberg via connecteur et catalogue, il ne les stocke pas
  • Travaux pratiques (fil rouge, étape 1) : prise en main de la plateforme, exploration de l'architecture Trino
5

SQL avec Trino

  • SQL utilisateur : fonctions, jointures, agrégations, CTE, fonctions de fenêtrage, types complexes
  • SQL d'exploitation : EXPLAIN, EXPLAIN ANALYZE, lecture des plans distribués, stages et tasks
  • Bonnes pratiques d'écriture des requêtes
  • Travaux pratiques (fil rouge, étape 2) : exécution de requêtes analytiques sur plusieurs sources, lecture d'un plan d'exécution
6

Jour 2 — Comprendre et administrer : Iceberg, déploiement, sécurité

7

Apache Iceberg : architecture et fonctionnement

  • Architecture Iceberg : couches de métadonnées, manifestes, snapshots
  • Distinction fichiers de données / fichiers de métadonnées / catalogue / moteur de calcul
  • Évolution de schéma et transactions ACID
  • Compatibilité multi-moteurs : ce que Trino sait faire avec Iceberg, ce qui relève plutôt de Spark/Flink
  • Travaux pratiques (fil rouge, étape 3) : création et manipulation de tables Iceberg, gestion de l'évolution de schéma
8

Catalogues Iceberg

  • Rôle du catalogue dans la découverte et la gouvernance des tables
  • Panorama des options : Hive Metastore, AWS Glue, REST Catalog, Nessie, JDBC
  • Choix du catalogue JDBC adossé à PostgreSQL comme support pédagogique simple et local ; transposabilité aux autres catalogues en production
  • Travaux pratiques (fil rouge, étape 4) : configuration d'un catalogue Iceberg JDBC/PostgreSQL
9

Déploiement et administration

  • Déploiement pédagogique avec Docker Compose : composants, dépendances, configuration; principes transposables à un déploiement industrialisé, sans couvrir l'administration Kubernetes
  • Administration mémoire de Trino : mémoire JVM, mémoire utilisateur, mémoire système ; max heap size, query.max-memory-per-node ; spill-to-disk ; lien entre requêtes, jointures, cardinalité et consommation mémoire ; symptômes (OOM JVM, requête tuée, worker instable)
  • Travaux pratiques (fil rouge, étape 5) : déploiement de la plateforme et configuration mémoire de Trino
10

Sécurité et accès

  • Authentification Trino
  • Autorisations : accès aux catalogues, schémas et tables
  • Séparation des rôles administrateur / utilisateur / compte de service
  • Accès au stockage objet et points d'attention en environnement multi-sources
11

Jour 3 — Optimiser : maintenance, performances, observabilité et diagnostic

12

Maintenance des tables Iceberg

  • Compaction et réécriture des fichiers de données
  • Expiration des snapshots et suppression des fichiers orphelins
  • Réécriture des manifestes et contrôle de la croissance des métadonnées
  • Impact des petits fichiers sur les temps de planification et de requête
  • Travaux pratiques (fil rouge, étape 6) : opérations de maintenance sur une table Iceberg
13

Optimisation des performances

  • Optimisation des requêtes Trino : pruning, prédicats, lecture des plans
  • Module CBO (Cost-Based Optimizer) : principes, estimation des coûts et des cardinalités, réordonnancement des
14

jointures et choix de leur distribution

  • Statistiques utilisées par le CBO : consultation avec SHOW STATS, collecte et mise à jour avec ANALYZE,
15

conséquences de statistiques absentes ou obsolètes.

  • Organisation des données Iceberg : partitionnement, tri, impact sur les performances
  • Réglages des composants
  • Travaux pratiques (fil rouge, étape 7) : optimisation de requêtes et réorganisation d'une table lourde
16

Observabilité

  • Logs Trino et interface d'administration Trino
  • Métriques utiles et corrélation ressources (CPU, mémoire, I/O) / requêtes / catalogue
  • Mention des outils d'instrumentation : JMX, Prometheus, Grafana (survol, sans module dédié)
17

Diagnostic d'exploitation Trino/Iceberg

  • Cas concrets : requête lente, requête tuée pour dépassement mémoire, worker indisponible, erreurs de connecteur/catalogue, problème d'accès au stockage objet, croissance excessive des métadonnées, trop nombreux petits fichiers, snapshots non expirés, fichiers orphelins, partitionnement inefficace, incompatibilité après modification de schéma, erreurs d'authentification
  • Corrélation entre symptômes, configuration et ressources
  • Travaux pratiques (fil rouge, étape 8) : résolution de cas concrets d'exploitation
18

Synthèse et interconnexion Spark

  • Lecture et écriture des tables Iceberg par plusieurs moteurs
  • Articulation Trino (requêtage analytique) et Spark (traitements batch/ETL)
  • Importance du catalogue partagé, compatibilité de versions, précautions sur les opérations concurrentes
  • Bonnes pratiques d'exploitation d'une plateforme Trino/Iceberg

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande