Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Développer une application Big Data avec Hadoop

Concevoir la base de données HBase

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Initiez-vous à la modélisation de la structure de données dans HBase. Ainsi, vous serez en mesure d'améliorer leur parcours et les performances de requêtage.
06:10

Transcription

Il est essentiel au début d'un projet Big Data qui va utiliser, exploiter la base de données NoSQL HBase de penser à la structure des données que l'on va mettre dans HBase. En effet, même si HBase est une base de données NoSQL faiblement structurée elle a besoin d'un minimum d'information de structure et il est, donc, primordial de les penser dès le début. Alors, on va devoir définir au minimum le nombre de tables qu'on va utiliser, leurs noms, donc, ici on va utiliser une seule table à priori qui va enregistrer ces données et que l'on va appeler par exemple « ghcn ». Et pour ces tables on va devoir définir au minimum les familles de colonnes, leurs noms et leurs attributs, ainsi qu'également le format de la clé qu'on va utiliser afin de pouvoir imaginer comment nos données vont être stockées. Alors comme Familles de colonnes on peut aussi imaginer avoir deux familles de colonnes, la première qui serait Date qui va contenir à priori certainement qu'une seule colonne qui n'est même pas obligée d'avoir un identifiant, ce sera un identifiant vide, et une seconde famille de colonnes qui sera « Measures » qui va contenir à chaque fois les colonnes des différentes mesures, par exemple, TAVG pour la température moyenne, TMIN pour la température minimale de la journée et TMAX pour la température maximale de la journée. Pour la colonne Date on va mettre directement en valeur la date dedans, on va choisir un format qui va permettre de filtrer et de trier facilement dessus, par exemple, un format Année, Mois, Jour, le tout concaténé, donc, l'année sur quatre chiffres, le mois sur deux chiffres et la journée sur deux chiffres. Concernant les températures on va mettre cela sous forme de nombreux flottants, de nombreux virgules qui vont être exprimés en degré Celsius. Très bien, il ne reste plus qu'à définir la clé qu'on va utiliser pour chacun de nos enregistrements dans HBase dans cette table « ghcn ». En clé on va pouvoir mettre notamment le nom de la station qui nous permettra de relier la Mesure à une station, mais également la date. Ça nous fera une clé unique, un enregistrement unique par station et par date. C'est ce que l'on veut, ça veut dire que si jamais on fait deux « put » sur la même station et la date, ça va updater, ça va remplacer, mettre à jour les informations réellement de cet enregistrement. Alors, c'est parfait, sauf que réfléchissons quelques secondes, la date de la même façon on peut utiliser le format Année, Mois, Jour tout concaténé qui permet de trier facilement directement par date. HBase par défaut est systématiquement à un tri, donc, par ordre croissant sur les clés. Il a un index sur les clés, il permet de trier directement dessus et notamment de filtrer également à partir du moment où on dépasse, par exemple, certaines bornes. Cependant nous allons souvent vouloir en premier les enregistrements les plus récents. On va avoir ici le comportement inverse puisque si on a un tri par ordre croissant on va commencer par les années les plus vieilles, par exemple, 1793, puis 1794, 1795, etc. Le comportement que l'on veut la plupart du temps va être commencé avec les années les plus récentes, ce sont celles qui vont nous intéresser le plus souvent. Aussi il est important pour nous de changer cet ordre de tri et la méthode couramment utilisée dans ce cas-là, c'est simplement d'inverser les nombres. C'est-à-dire qu'on va systématiquement utiliser au lieu d'avoir la date sous le format Année, Mois, Jour, on va prendre 99999999 auquel on va soustraire la date sous la forme Année, Mois, Jour. Ainsi, on va avoir, par exemple au lieu de 2017 comme année on aura 7982. Cela va permettre de mettre les dates les plus récentes en premier dans l'index de HBase et d'avoir un ordre croissant vers les dates les plus anciennes Cela fait permettre notamment d'optimiser les performances dans les cas les plus courants de l'utilisation de notre application. Alors, nous allons créer à présent notre table réellement directement grâce au HBase Shell. Alors pour ça nous ouvrons un terminal et nous lançons le Shell HBase, il se connecte au ZooKeeper et il se connecte au HBase Master et nous allons lancer simplement la commande Create sur la table qu'on va appeler « ghcn ». Alors, ensuite on met une virgule et à chaque fois on détruit une famille de colonnes. La première famille de colonnes qu'on va détruire ça va etre « measures » qui va contenir les différentes mesures et sur laquelle on va mettre une Compression « SNAPPY » qui est souvent recommandée effectivement pour compresser les familles de colonnes et pour diminuer l'espace desc requis pour les données, mais également les transferts de données. Ils seront plus rapides qu'il y en aura moins de données à transférer. On va avoir également une seconde famille de colonnes, on a dit qu'il va s'appeler Date et que l'on va également compresser avec l'algoritme SNAPPY. Alors, une fois que la table est créée on va faire un Describe pour vérifier qu'elle est bien créée comme l'on le souhaite. Alors, elle s'appelle « ghcn ». On a une table « ghcn » qui est activée, qui est de famille de colonnes, donc, une date et une mesure, chacune avec une Compression SNAPPY qui va garder au maximum une version de données. On va aller vérifier également dans l'interface du HBase Master que notre table est bien présente « ghcn » avec bien les deux familles de colonnes. Nous pouvons désormais commencer à travailler et commencer à utiliser cette table dans HBase.

Développer une application Big Data avec Hadoop

Concevez une application Big Data avec la suite Hadoop. Stockez des données dans l'HDFS et dans HBase, traitez-les en MapReduce sous YARN, exportez-les dans MySQL via Sqoop, etc.

2h31 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !