CDOSS Apache Iceberg : Lakehouse Moderne

Profils adéquats pour passer cette certification

Cette certification s’adresse aux professionnels de la donnée qui travaillent dans des environnements distribués :

Data Engineers : C’est le profil principal. Ils ont besoin d’Iceberg pour construire des pipelines de données robustes, gérer l’ingestion en temps réel (streaming) et garantir la qualité des données.

Architectes Big Data : Pour concevoir des infrastructures “Lakehouse” modernes qui remplacent ou complètent les architectures Hive traditionnelles, tout en réduisant les coûts de stockage.

Data Architects : Pour définir les modèles de données évolutifs et assurer la gouvernance (versionnage des schémas) sur des volumes massifs.

Administrateurs de Plateformes de Données : Pour gérer la maintenance des tables (expiration de snapshots, nettoyage de fichiers orphelins) et la configuration des catalogues (Hive Metastore, AWS Glue).

Data Scientists (Profil Avancé) : Pour bénéficier de la reproductibilité des expériences grâce au Time Travel et accéder rapidement à des données structurées et propres.

Préparation :

Étape 1 : Comprendre la Révolution “Lakehouse” (Théorie)

L’objectif est de comprendre pourquoi Iceberg a été créé et ce qu’il résout par rapport à Hive.

Le concept de Data Lakehouse : Comprendre comment Iceberg combine la flexibilité d’un Data Lake (stockage de fichiers sur HDFS/S3) avec la rigueur d’un Data Warehouse (transactions ACID).

Les limites de Hive : Identifier les problèmes classiques (lenteur des listes de répertoires, pas de transactions, difficulté à modifier les schémas).

Les piliers d’Iceberg :  

  • Time Travel : Capacité à interroger une table telle qu’elle était dans le passé.
  • Schema Evolution : Modifier les colonnes sans risquer de corrompre les données.
  • Partition Evolution : Changer la stratégie de partitionnement sans réécrire la table complète.

Étape 2 : L’Architecture Interne (Le “Cœur” d’Iceberg)

Il est crucial de comprendre que dans Iceberg, une table est un ensemble de fichiers de métadonnées, pas juste un dossier de données.

Le Catalogue : C’est le point d’entrée qui pointe vers le fichier de métadonnées actuel (ex: Hive Metastore).

La hiérarchie des métadonnées :

Metadata File (JSON) : Définit le schéma, le partitionnement et la liste des snapshots.

Manifest List (AVRO) : Liste les fichiers manifestes liés à un snapshot spécifique.

Manifest File (AVRO) : Liste les fichiers de données réels avec des statistiques (min/max) pour optimiser les requêtes.

La couche de stockage : Comprendre le format Parquet (colonnaire) utilisé pour les données réelles.

Étape 3 : Mise en œuvre et Configuration (Pratique)

Savoir comment lancer Iceberg dans un environnement Spark (par exemple).

Initialisation de PySpark : Maîtriser les options de configuration indispensables :

–packages pour le runtime Iceberg.

Configuration du catalogue (spark.sql.catalog.spark_catalog).

Connexion au Metastore Hive via le protocole thrift.

Extensions Spark : Utiliser IcebergSparkSessionExtensions pour débloquer les commandes SQL avancées (UPDATE, DELETE, MERGE).

Étape 4 : Manipulation de Données et Maintenance (SQL Avancé)

Utiliser Iceberg comme une base de données relationnelle classique.

Le DDL (Data Definition Language) : Créer des tables (using iceberg), renommer des tables, et modifier les colonnes (ALTER TABLE).

Le DML (Data Manipulation Language) : Insertion, mise à jour (UPDATE) et suppression (DELETE).

Gestion des Partitions :

Ajouter ou supprimer des champs de partition.

Utiliser les transformations comme bucket(n, col) ou year(timestamp).

Maintenance : Comprendre l’expiration des snapshots et le nettoyage des fichiers orphelins pour optimiser le stockage.