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)

3

• Positionnement de Trino et Iceberg dans une plateforme décisionnelle moderne

4

• Architecture découplée stockage / compute / métadonnées

5

• Rappel cadrant des apports du Lakehouse (sans reprise des fondamentaux, public déjà au contact de la techno)

6

Les formats de stockage

7

• Principes des formats orientés colonnes : Parquet, Avro, ORC

8

• Distinction format de fichier (Parquet/ORC/Avro) et format de table (Iceberg)

9

• Organisation des données et impact sur les performances de lecture

10

Apache Trino : architecture et exécution

11

• Architecture : coordinateur, workers, modèle d'exécution distribuée

12

• Connecteurs et catalogues : principe et configuration

13

• Rôle de Trino vis-à-vis d'Iceberg : Trino interroge et manipule des tables Iceberg via connecteur et catalogue, il ne les stocke pas

14

• Travaux pratiques (fil rouge, étape 1) : prise en main de la plateforme, exploration de l'architecture Trino

15

SQL avec Trino

16

• SQL utilisateur : fonctions, jointures, agrégations, CTE, fonctions de fenêtrage, types complexes

17

• SQL d'exploitation : EXPLAIN, EXPLAIN ANALYZE, lecture des plans distribués, stages et tasks

18

• Bonnes pratiques d'écriture des requêtes

19

• Travaux pratiques (fil rouge, étape 2) : exécution de requêtes analytiques sur plusieurs sources, lecture d'un plan d'exécution

20

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

21

Apache Iceberg : architecture et fonctionnement

22

• Architecture Iceberg : couches de métadonnées, manifestes, snapshots

23

• Distinction fichiers de données / fichiers de métadonnées / catalogue / moteur de calcul

24

• Évolution de schéma et transactions ACID

25

• Compatibilité multi-moteurs : ce que Trino sait faire avec Iceberg, ce qui relève plutôt de Spark/Flink

26

• Travaux pratiques (fil rouge, étape 3) : création et manipulation de tables Iceberg, gestion de l'évolution de schéma

27

Catalogues Iceberg

28

• Rôle du catalogue dans la découverte et la gouvernance des tables

29

• Panorama des options : Hive Metastore, AWS Glue, REST Catalog, Nessie, JDBC

30

• Choix du catalogue JDBC adossé à PostgreSQL comme support pédagogique simple et local ; transposabilité aux autres catalogues en production

31

• Travaux pratiques (fil rouge, étape 4) : configuration d'un catalogue Iceberg JDBC/PostgreSQL

32

Déploiement et administration

33

• Déploiement pédagogique avec Docker Compose : composants, dépendances, configuration; principes transposables à un déploiement industrialisé, sans couvrir l'administration Kubernetes

34

• 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)

35

• Travaux pratiques (fil rouge, étape 5) : déploiement de la plateforme et configuration mémoire de Trino

36

Sécurité et accès

37

• Authentification Trino

38

• Autorisations : accès aux catalogues, schémas et tables

39

• Séparation des rôles administrateur / utilisateur / compte de service

40

• Accès au stockage objet et points d'attention en environnement multi-sources

41

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

42

Maintenance des tables Iceberg

43

• Compaction et réécriture des fichiers de données

44

• Expiration des snapshots et suppression des fichiers orphelins

45

• Réécriture des manifestes et contrôle de la croissance des métadonnées

46

• Impact des petits fichiers sur les temps de planification et de requête

47

• Travaux pratiques (fil rouge, étape 6) : opérations de maintenance sur une table Iceberg

48

Optimisation des performances

49

• Optimisation des requêtes Trino : pruning, prédicats, lecture des plans

50

• Module CBO (Cost-Based Optimizer) : principes, estimation des coûts et des cardinalités, réordonnancement des

51

jointures et choix de leur distribution

52

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

53

conséquences de statistiques absentes ou obsolètes.

54

• Organisation des données Iceberg : partitionnement, tri, impact sur les performances

55

• Réglages des composants

56

• Travaux pratiques (fil rouge, étape 7) : optimisation de requêtes et réorganisation d'une table lourde

57

Observabilité

58

• Logs Trino et interface d'administration Trino

59

• Métriques utiles et corrélation ressources (CPU, mémoire, I/O) / requêtes / catalogue

60

• Mention des outils d'instrumentation : JMX, Prometheus, Grafana (survol, sans module dédié)

61

Diagnostic d'exploitation Trino/Iceberg

62

• 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

63

• Corrélation entre symptômes, configuration et ressources

64

• Travaux pratiques (fil rouge, étape 8) : résolution de cas concrets d'exploitation

65

Synthèse et interconnexion Spark

66

• Lecture et écriture des tables Iceberg par plusieurs moteurs

67

• Articulation Trino (requêtage analytique) et Spark (traitements batch/ETL)

68

• Importance du catalogue partagé, compatibilité de versions, précautions sur les opérations concurrentes

69

• Bonnes pratiques d'exploitation d'une plateforme Trino/Iceberg

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande

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