Présentation de Hive et compilation du code source

Hive Introduction Source Code Compilation



Introduction de la ruche:

  • Hive est un entrepôt de données basé sur Hadoop qui peut mapper des données structurées dans une table et fournir des fonctions de type SQL. Il a été fourni à l'origine par Facebook, utilisant HQL comme interface de requête, HDFS comme couche inférieure de stockage et MapReduce comme couche d'exécution. Le but de la conception est de laisser les compétences SQL être bonnes, mais les analystes ayant de faibles compétences Java peuvent interroger des données massives. En 2008, Facebook a contribué au projet Hive à Apache. Hive fournit des fonctions SQL relativement complètes (convertissant essentiellement SQL en MapReduce), et son plus gros inconvénient est sa vitesse d'exécution lente. Hive a sa propre description de la structure des métadonnées, qui peut être stockée à l'aide de bases de données relationnelles telles que MySql ProstgreSql oracle, mais veuillez noter que toutes les données de Hive sont stockées dans HDFS. Hive a une meilleure flexibilité et évolutivité, prend en charge UDF, format de stockage personnalisé, adapté au traitement des données hors ligne.

Architecture de la ruche:
Hive.png



  • 1. Interface utilisateur: y compris CLI, client, WUI. Le plus couramment utilisé est la CLI. La CLI est une ligne de commande shell. Lorsque Cli démarre, il démarre une copie de Hive en même temps. Le client est un client Hive et les utilisateurs se connectent à Hive Server. Lors du démarrage du mode client, vous devez indiquer le nœud sur lequel se trouve le serveur Hive et démarrer le serveur Hive sur ce nœud. WUI consiste à accéder à Hive via un navigateur.
    2. Stockage des métadonnées: généralement stockées dans des bases de données relationnelles telles que mysql, derby
    3. Interpréteur, compilateur, optimiseur, exécuteur: instructions de requête HQL complètes à partir de l'analyse lexicale, de l'analyse grammaticale, de la compilation, de l'optimisation et de la génération du plan de requête. Le plan de requête généré est stocké dans HDFS, puis les appels MapReduce sont exécutés.
    4. Hadoop: les données Hive sont stockées dans HDFS et MapReduce est utilisé pour le calcul.

Compilation de code source Hive:



Nous choisissons la version CDH à compiler, en prenant la version hive-1.1.0-cdh5.7.0 comme exemple.
Préparatifs préliminaires:
1. Configurez l'environnement jdk1.7.
2. Installez maven.
3. Installez l'environnement hadoop-2.6.0-cdh5.7.0 (le numéro de version doit correspondre à hive).
Remarque: j'ai utilisé la version Apache 2.8 de hadoop au début, qui a été remplacée par la version CDH



1. Téléchargez et décompressez le paquet source hive-1.1.0-cdh5.7.0-src.tar.gz
# Download address: http://archive.cloudera.com/cdh5/cdh/5/ [root@hadoop000 ~]# su - hadoop [hadoop@hadoop000 ~]$ cd source [hadoop@hadoop000 source]$ wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0-src.tar.gz [hadoop@hadoop000 source]$ tar -xzvf hive-1.1.0-cdh5.7.0-src.tar.gz
2. Compilez
[root@xxxxx source]$ cd hive-1.1.0-cdh5.7.0 # Need to wait for a while [root@xxxxx hive-1.1.0-cdh5.7.0]$ mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package ... ... [INFO] Hive ODBC .......................................... SUCCESS [ 5.811 s] [INFO] Hive Shims Aggregator .............................. SUCCESS [ 0.755 s] [INFO] Hive TestUtils ..................................... SUCCESS [ 1.294 s] [INFO] Hive Packaging ..................................... SUCCESS [01:41 min] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 18:22 min [INFO] Finished at: 2018-06-02T11:37:54+08:00 [INFO] Final Memory: 144M/494M [INFO] ------------------------------------------------------------------------ # Successful compilation will generate a tar package under the packaging/target directory under the source directory, and the related hive module jar package can be found in this tar package. File name: apache-hive-1.1.0-cdh5.7.0-bin.tar.gz # You can use this package to install Hive, or you can directly download the compiled installation package of the corresponding version from this website http://archive.cloudera.com/cdh5/cdh/5/.