Dans le monde d'aujourd'hui, Apache Hive est devenu un sujet d'intérêt et de débat constant. Depuis sa création, Apache Hive a suscité la curiosité et l'attention des experts et des amateurs. Son impact sur la société et dans différents domaines d’étude en a fait un élément fondamental à considérer dans toute analyse ou discussion. Dans cet article, nous explorerons les différents aspects liés à Apache Hive, de son histoire et de son origine à son influence aujourd'hui. De plus, nous examinerons les différents points de vue et opinions autour de Apache Hive, dans le but de proposer une vision complète et enrichissante de ce sujet passionnant.
Développé par | Contributeurs |
---|---|
Première version | |
Dernière version | 3.1.3 () |
Dépôt | git://git.apache.org/hive.git et svn.apache.org/repos/asf/hive |
État du projet | Actif |
Écrit en | Java |
Système d'exploitation | Multiplateforme |
Environnement | Machine virtuelle Java |
Type | Système de gestion de base de données relationnelle (en) |
Licence | Licence Apache version 2.0 |
Site web | hive.apache.org |
Apache Hive est une infrastructure d’entrepôt de données intégrée sur Hadoop permettant l'analyse, le requêtage via un langage proche syntaxiquement de SQL ainsi que la synthèse de données. Bien que initialement développée par Facebook, Apache Hive est maintenant utilisée et développée par d'autres sociétés comme Netflix,. Amazon maintient un fork d'Apache Hive qui inclut Amazon Elastic MapReduce dans Amazon Web Services.
Apache Hive prend en charge l'analyse des grands ensembles de données stockées dans Hadoop HDFS ou des systèmes de fichiers compatibles tels que Amazon S3. Il fournit un langage similaire à SQL appelée HiveQL avec le schéma lors de la lecture et de manière transparente convertit les requêtes en map/reduce, Apache Tez et jobs Spark. Tous les trois moteurs d'exécution peuvent fonctionner sur Hadoop YARN. Pour accélérer les requêtes, il fournit des index, y compris bitmap indexes.
Par défaut, Hive stocke les métadonnées dans une base de données embarquée Apache Derby, et d'autres bases de données client / serveur comme MySQL peuvent éventuellement être utilisées.
Actuellement, il y a quatre formats de fichiers pris en charge par Hive: TEXTFILE, SEQUENCEFILE, ORC et RCFile,,. Les fichiers Apache Parquet peuvent être lus via des plugins dans les versions ultérieures à 0.10 et nativement à partir de 0.13,.
Autres caractéristiques de Hive :
Hive est composé des éléments suivants :
Bien que basé sur SQL, HiveQL ne suit pas à la lettre la norme SQL. HiveQL fournit des extensions hors SQL, par exemple des insertions multi-tables, et seulement une offre basique pour l'indexation. Aussi, HiveQL manque de support pour les transactions et les vues matérialisées, et seul soutien de sous-requête limitée,. Le support pour insert, update et delete avec la fonctionnalité complète d'ACID a été mis à disposition avec la sortie de la version 0.14.
En interne, le compilateur traduit les instructions HiveQL en graphe orienté acyclique de MapReduce ou Tez, ou job Spark, qui sont ensuite soumis à Hadoop pour exécution.