PLB CONSULTANT : 01. Hadoop - HBase, mise en œuvre et administration
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
Public
Chefs de projet, Administrateurs…
Pré-requis
avoir des connaissances des principes de base Hadoop et des bases de données.
Objectifs pédagogiques
Appréhender l’écosystème Hadoop
Comprendre l’architecture et le fonctionnement de HBase
Identifier les apports d’HBase en termes de stockage distribué des données
Mener à bien l’installation du système
Savoir mettre en place une configuration distribuée
Programme détaillé
Jour 1
Introduction à Hadoop et à Hbase
Les fonctionnalités du Framework Hadoop
Le projet et les modules : Hadoop Common, HDFS, YARN, Spark, MapReduce
Fonctionnalités : failover automatique, sharding
Hbase dans l’écosystème Hadoop
Différences logiques entre Hbase et un SGBDR
Différences physiques avec un SGBDR (rôle de HDFS)
Précisions sur le vocabulaire et les concepts HBase (table, région, ligne, famille de colonnes, cellules…)
Travaux pratiques
Création d’un modèle de données Hbase pour comprendre la vision de l’utilisateur sous forme de lignes et de colonnes dans un univers « sans schéma ».
Architecture Hbase et clusters
Vue générale des différents types de serveurs
Fournir des données pour les lectures/écritures aux clients (Region Servers)
Gérer l’affectation des régions et les opérations de création et suppression de tables (HBase Hmaster)
Maintenir le cluster en l’état (Zookeeper)
Fonctionnement indépendant des démons (HMaster, HRegionServer, Zookeeper)
Fonctionnement du stockage basé sur HDFS
Passage au mode distribué : mise en oeuvre avec HDFS dans un environnement distribué
Rôles et structure des fichiers HFiles (table, famille de colonne, colonne, row key)
Rôles des DataNode et NameNode
Travaux pratiques
Quiz sur le rôle des différents composants d’une architecture Hbase en cluster
Création de plusieurs environnements différents en cluster
Mise en oeuvre des splits sur un exemple de tables réparties
Installation
Choix des packages
Installation et configuration dans le fichier conf/hbase-site.xml
Démarrage en mode standalone start-hbase
Test de connexion avec hbase shell
Installation en mode distribué
Les configurations pré-installées sur Hadoop
Les distributions Hbase dans le Cloud
Travaux pratiques
Ce TP a un intérêt pédagogique pour bien comprendre le contenu et le fonctionnement de Hbase car au quotidien on utilise souvent des distributions qui proposent un environnement pré-installé (comme Hadoop) ou encore une version Cloud de Hbase proposée par les principaux acteurs (Azure, AWS, GCP).
Installation et test de connexion. Observations des différents fichiers générés. Visualisation des démons Hadoop et Hbase démarrés pour comprendre leur complémentarité. Visite de Hbase dans Azure (HDInsight Hbase) pour comprendre les points communs entre les différents packagings de Hbase sur le marché (et les différences ou non au niveau utilisateur).
Quiz d’évaluation des acquis de la journée
Jour 2
HBase utilisation : shell
Présentation des différentes interfaces disponibles
Commandes de base, syntaxe, variables
Prendre en main l’aide
Gestion des autorisations (grant,list_security_capabilities,revoke,user_permission)
Manipulation des données : create, list, put, scan, get
Commandes sur les tables (disponibilité, existence, liste, suppression, etc.)
Principe des filtres
Mise en oeuvre de filtres de recherche, paramètres des tables
Présentation des espaces de nommage
Synthèse sur les commandes générales (voir les bases, informations sur les grappes)
Synthèse sur les commandes d’espaces de nom
Programmation par scripts
Travaux pratiques
Manipulation des données par shellscript (création automatique de tables dans un espace de noms, familles de colonnes associées, insertion d’un gros volume de données, vérification de nos actions via des requêtes d’informations)
Recherche de données dans notre base
Surveillance de Hbase en production : les commandes pour constituer un tableau de bord d’exploitation
Programmation autour de Hbase
Concepts d’API
Utilisation de Hbase par un langage tiers (Java, C#, Python, etc.)
Chargement de fichiers pour remplir une base Hbase
Lien avec MapReduce
Présentation rapide de Spark
Traitements avec Spark sur des données Hbase
Travaux pratiques
Il n’est pas nécessaire de connaître Java pour ce TP c’est surtout le concept d’ouverture de Hbase vers les applications que nous souhaitons montrer ici. Les programmes sont fournis aux participants.
Chargement d’un fichier au format tsv dans notre base Hbase puis déclenchement d’un traitement MapReduce.
TP guidé pour utiliser Spark afin de compter le nombre d’élément présent en base et de calculer des sommes de ventes de produits. L’objectif est de montrer que Spark peut être utilisé pour réaliser des traitements complexes sur les données de HBase (traitements parallèles directement là où les données sont stockées dans notre exemple).