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.

Les fondements du Big Data

Tirer parti des couches de requêtage

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Au-dessus des programmes de traitement, vous pouvez ajouter des couches de requêtage comme Hive ou Pig. Ainsi, vous faciliterez la tâche des développeurs et des data scientists.
05:24

Transcription

Pour parler de la couche de requêtage, prenons l'exemple de l'algorithme et du traitement MapReduce. Historiquement, donc, les premiers traitements de Big Data se sont faits exclusivement en MapReduce à l'aide d'Hadoop. Hadoop a deux types d'accès. Un accès natif, où on crée des fonctions de type Maper, et des fonctions de type Reducer, principalement en Java et à l'intérieur de ces fonctions, on va prendre des données et les traiter élément par élément, finalement, dans une approche qu'on appelle « Impérative » dans un langage de programmation. C'est-à-dire, on décide de chaque étape du travail. Évidemment, comme il est dommage d'être forcé d'utiliser uniquement du langage Java pour créer ces fonctions de Map et de Reduce, dans Hadoop ont été rajoutées des capacités dites de streaming, ça veut dire qu'avec un autre langage, par exemple Python ou Scala, des langages connus des Data Sentis, par exemple, on pouvait écrire des fonctions Maper et Reducer en Python et ensuite, on pouvait les faire exécuter par Streaming, si vous voulez, par Hadoop. Ici, le terme de Streaming ne veut pas dire les « Flux de données », mais simplement la capacité d'Hadoop de récupérer du code ou d'exécution de code et de le retransformer en exécution de code en Java. Ici, le terme Streaming signifie plutôt la capacité qu'a Hadoop de prendre des processus qui viennent d'autres langages pour les exécuter sur la Platforme Hadoop. Mais il y a un deuxième type de traitement à partir de langage de haut niveau et c'est là, on va pouvoir parler de couches de requêtage. C'est qu'on peut se dire qu'il suffirait de créer une couche supplémentaire qui va interpréter un langage, comme le langage SQL, qui est plus, dans une approche déclarative. Lorsque je fais une requête SQL, vous en avez sûrement déjà vu, Select, Etoile, from, Table, par exemple. Je décris quelque chose qui est le résultat que je veux obtenir, c'est ce qu'on appelle une « Approche déclarative ». A ce moment-là, je n'ai pas besoin de créer des fonctions compliquées, en Map et en Reduce, je demande simplement un résultat. Pourquoi ne pas créer une surcouche qui va permettre d’interpréter, de récupérer cette requête SQL et de la transformer en fonctions Map et Reduce pour faire ces opérations dans Hadoop. Et donc, ces surcouches, la plus connue s'appelle Hive, il y a une autre couche qui s'appelle Pig et qui a un langage spécifique, mais Hive utilise un langage SQL qui s'appelle « HiveQL ». Ces couches permettent de redéfinir des données, comme je vous le disais, sous forme de d'une abstraction de données, des Tables, par exemple, et puis, de faire du SQL sur ces Tables et tout ceci va être transformé derrière en des processus MapReduce qui vont être envoyés aux gestionnaires de traitement et aux gestionnaires de clusters. Ensuite, le programme de traitement récupère les données et les réaffiche à travers Hive, par exemple, sous forme de Tables, comme dans un moteur SQL. Cette approche est très intéressant pour des gens qui n'ont d'expérience de programmation, des Data scientistes, par exemple, qui ne sont pas forcément des programmeurs aguerris et qui veulent pouvoir interroger les données avec un système beaucoup plus simple d'accès. Ces couches de requêtage, il y en a beaucoup. Historiquement, je vous parlais de Pig, qui utilise un langage dit Latin, proche du latin et puis, vous avez évidemment Hive, comme je vous le disais avec HiveQL. Hive a une syntaxe SQL très riche, qui implémente une bonne partie de la norme SQL. Vous pouvez faire des jointures, des regroupements, utilisez des fonctions de fenêtrage notamment, des fonctionnalités assez avancées dans le langage SQL, aussi des sous-requêtes. Et donc, Hive est un produit très intéressant. En terme de performance, il a été dépassé maintenant, par des outils comme Spark, mais Hive est en constante amélioration. Vous avez des langages SQL comme Shark, notamment, qui était le SQL de Spark, qui a été remplacé maintenant par SparkSQL. Vous avez des outils spécifiques comme Apache Drill ou bien Impala qui est un développement initié par une entreprise de distribution d'un Package Hadoop qui s'appelle Cloudera. Donc, tous ceci sont des surcouches de requêtage pour des systèmes Big Data, qui vont ensuite utiliser un programme de traitement. Pour prendre juste l'exemple de Hive, donc, Hive est très souvent d'ailleurs, distribué avec les distributions d'Hadoop et on a vraiment en ressenti un moteur relationnel. Finalement, on peut créer des Tables, par exemple, avec cette syntaxe « Create Table », on indique un certain nombre de propriétés de la table et on indique comment il est stocké, ici, on a Stored As TextFile, donc, on va le stocker finalement, en fichier Text, sur notre système HDFS, mais par contre, on aura la vision à travers Hive d'une vraie Table, comme une Table SQL. On aura avec Hive un format spécifique de stockage sur HDFS propre à Hive, ou bien, on va pouvoir utiliser des formats différents, ou bien , on peut même stocker dans une base HBase, donc, un système de base de données NoSQL distribué, lié à Hadoop. Et ça peut très bien servir de pont avec un système de Business Intelligence traditionnel qui peut récupérer des données avec des requêtes SQL.

Les fondements du Big Data

Découvrez les enjeux, les outils et les possibilités du Big Data. Familiarisez-vous avec les concepts du Big Data et soyez en mesure de gérer d’importants volumes de données.

1h47 (26 vidéos)
Aucun commentaire n´est disponible actuellement
 
Spécial abonnés
Date de parution :13 juin 2017

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 !