WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Stratégies d'optimisation de requêtes SQL dans un écosystème Hadoop

( Télécharger le fichier original )
par Sébastien Frackowiak
Université de Technologie de COmpiègne - Master 2 2017
  

précédent sommaire suivant

Appel aux couturier(e)s volontaires

6 CONCLUSION

Ce mémoire nous a permis de découvrir en détail le fonctionnement de l'écosystème de Hadoop. Ce dernier était relativement rigide à ses débuts, l'allocation des ressources et le framework de traitement formaient une seule entité. De plus, MapReduce ne pouvait être utilisé autrement que par une succession immuable de phases Map puis Reduce.Au fil des années, de nombreux projets se sont greffés à lui et ont contribué à lui apporter plus de souplesse (YARN) permettant l'essor d'autres frameworks de traitement distribué comme Tez (qui généralise MapReduce).

Nous avons pu dresser un état de l'art à jour de Hadoop, tout en établissant du sens entre son infrastructure (NameNode+DataNodes, RessourceManager+NodeManager+ApplicationMaster) et la réalité d'un traitement (via MapReduce ou Tez).Il en a été de même vis-à-vis de Hive, application transformant du SQL en traitement distribué. Nous avons ainsi pu comprendre la logique MapReduce cachée derrière l'usage de requêtes SQL classiques.En effet, il est fondamental de bien comprendre le fonctionnement de Hive, car son usage ne peut se faire en mode « boîte noire » dès lors où il est question d'optimiser ses performances.

Notre approche de l'optimisation nous a ensuite permis d'aborder deux aspects. D'une part, le réglage, dans cette partie nous avons passé en revue de nombreuses options disponibles pour régler au mieux la façon dont Hive transformera le SQL en traitement distribué ; nous avons abordé les plus fondamentales, apportant de réels gains, tout en sachant qu'il en existe une myriade.D'autre part, la conceptionqui nous a permis de souligner l'importance de la connaissance fine des données à traiter, et ce, durant tout leur cycle de vie ; nous avons établi que les parades techniques abordées dans cette partien'ont de sens que dans un contexte d'étude préliminaire et statistique des données.

Cependant, nous n'avons fait qu'effleurer les quantités de solutions existantes. Si nous sommes capables de les appréhender plus facilement à présent, certaines mériteraient de s'y attarder davantage.Néanmoins, l'écosystème Hadoop est en mouvement permanent. Ce qui nous semble vrai aujourd'hui ne le sera peut-être plus demain, aussi sera-t-il plus que nécessaire de réaliser une veille technologique permanente pour continuer à maîtriser son usage.

Hadoop, depuis ses débuts, ne cesse de gagner en maturité. La communauté Open Source qui l'anime est très active et s'organise professionnellement au côté d'entreprises qui participent à son développement.A l'heure actuelle, des travaux sont déjà en cours pour résorber les principaux goulots d'étranglement comme le NameNode du HDFS ou les latences liées à l'allocation des ressources par YARN. Mais c'est surtout la capacité de Hadoopà ne pas se borner au seul paradigme MapReduce, à continuer de généraliser les concepts qu'il véhicule, à s'ouvrir aux autres technologiesqui sera déterminante pour son futur.

Hive se révèlequant à lui, un outil de haut niveau formidable pour entrer rapidement dans le Big Data de Hadoop.Sa dernière architecture lui permet d'utiliser indifféremment plusieurs frameworks de traitement distribués. Et si Tez est un véritable progrès par rapport à MapReduce, il en existe un autre, plus récent : Spark. Ce dernier est réputé pour être encore plus généraliste et entièrement « in-memory », mais il reste à déterminer pour quels volumes de données il excelle réellement.

Enfin, Hive nécessiteencore des améliorations, notamment au regard de l' « art » du paramétrage qu'il véhicule et qui impose audéveloppeur d'être à un niveau d'expertise comparable à celui d'un administrateur de base de données. Ce qui n'est pas acceptable de nos jours. Un système mature se caractérise notamment par la confiance que l'utilisateur peut accorder aux choix d'optimisation qu'il opère sans intervention humaine. Pour que Hive puisse continuer d'exister, il devra ainsi se charger de ses propres réglages et ne pas les laisser à la charge du développeur.Une piste envisageable serait donc d'ajouter davantage d'intelligence artificielle à Hive. Cela afin de l'aider à la prise de décisions efficaces quant aux stratégies d'optimisation qu'il devra mettre en oeuvre.

précédent sommaire suivant






Aidez l'hopital de Montfermeil




Moins de 5 interactions sociales par jour