HIVE une solution SQL pour le Big Data ?
La population de Data Engineers ayant été formée et ayant travaillé dans un environnement SGBDR, dit aujourd’hui traditionnel, est extrêmement importante. Néanmoins nous sommes aujourd’hui arrivés dans des temps où les bases comme ORACLE sont considérées à tort ou à raison comme datées.
Des environnements comme TERADATA permettent à cette population de retrouver ses habitudes et d’être opérationnelle extrêmement rapidement sur leurs projets. Le problème vient souvent du coût de cette solution, estimée élevée pour bon nombres de comptes.
La distribution HADOOP, avec ses différents outils, connait un réel engouement depuis quelques années. Hive, la solution SQL du package, est l’outil le plus utilisé par les Data Engineers.
Concrètement, Hive permet aux habitués du SQL de retrouver la syntaxe classique du langage et la quasi-totalité des fonctions.
En utilisant l’outil Hue, vous pourrez lancer vos requêtes de développement à la volée, et vos requêtes pourront être plugées dans du code spark, dans des scripts .hive, etc …
Cependant, une nuance doit être apportée.
Les fonctions basiques SELECT, FROM, GROUP BY, SUM, DISTINCT, CASE, CONCAT, JOIN, etc … ne posent pas le moindre problème au quotidien et fonctionnent comme dans un environnement dit « classique ».
D’autres fonctions liées au windowing (PARTITION BY), comme les fonctions LAG, LEAD, RANK, etc … sont à manipuler avec la plus grande prudence. Hive ne permet pas de totalement s’affranchir des « limites » du BIG DATA. Une même requête de ce type, peut donner des résultats différents selon les réponses des différents nœuds et de l’état de charge du cluster.
Autres nuances, les fonctions DELETE et UPDATE, qui font partie des basiques du langage SQL, ne sont pas supportées par les versions natives de Hive, un support ACID complet sera nécessaire pour que ces fonctions soient supportées.
Hive est donc un excellent outil, permettant à une large population de Data Engineers d’être opérationnelle sur leurs projets, mais comme la perfection n’est pas de ce monde, Hive ne l’est pas non plus.
Luc Latour