| Développé par | Contributeurs |
|---|---|
| Première version | |
| 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 (d) |
| Environnement | Machine virtuelle Java |
| Type |
Système de gestion de base de données relationnelle (en) Projet de la fondation Apache (d) |
| Licence | Licence Apache 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.