Hiveの紹介とソースコードのコンパイル



Hive Introduction Source Code Compilation



Hiveの紹介:

  • Hiveは、構造化データをテーブルにマップし、SQLのような関数を提供できるHadoopベースのデータウェアハウスです。もともとはFacebookによって提供され、クエリインターフェイスとしてHQL、ストレージの最下層としてHDFS、実行層としてMapReduceを使用していました。設計の目的はSQLスキルを向上させることですが、Javaスキルが弱いアナリストは大量のデータをクエリできます。 2008年、FacebookはHiveプロジェクトをApacheに提供しました。 Hiveは比較的完全なSQL関数(基本的にSQLをMapReduceに変換する)を提供し、その最大の欠点は実行速度が遅いことです。 Hiveには独自のメタデータ構造の説明があり、MySql ProstgreSql oracleなどのリレーショナルデータベースを使用して保存できますが、HiveのすべてのデータはHDFSに保存されることに注意してください。 Hiveは柔軟性とスケーラビリティが優れており、オフラインデータ処理に適したUDF、カスタムストレージ形式をサポートしています。

Hiveアーキテクチャ:
Hive.png



  • 1.ユーザーインターフェイス:CLI、クライアント、WUIを含みます。最も一般的に使用されるのはCLIです。 CLIはシェルコマンドラインです。 Cliが起動すると、同時にHiveのコピーが起動します。クライアントはHiveクライアントであり、ユーザーはHiveサーバーに接続します。クライアントモードを開始するときは、Hiveサーバーが配置されているノードを指定し、そのノードでHiveサーバーを起動する必要があります。 WUIは、ブラウザーを介してHiveにアクセスすることです。
    2.メタデータストレージ:通常、mysql、derbyなどのリレーショナルデータベースに保存されます
    3.インタープリター、コンパイラー、オプティマイザー、エグゼキューター:字句解析、文法分析、コンパイル、最適化、およびクエリプラン生成からの完全なHQLクエリステートメント。生成されたクエリプランはHDFSに保存され、MapReduce呼び出しが実行されます。
    4. Hadoop:HiveデータはHDFSに保存され、MapReduceが計算に使用されます。

ハイブのソースコードのコンパイル:

コンパイルするCDHバージョンを選択し、hive-1.1.0-cdh5.7.0バージョンを例として取り上げます。
準備:
1.jdk1.7環境を構成します。
2.Mavenをインストールします。
3. hadoop-2.6.0-cdh5.7.0環境をインストールします(バージョン番号はハイブに対応している必要があります)。
注:私は初期段階でApache 2.8バージョンのhadoopを使用していましたが、これはCDHバージョンに変更されています。



1.ソースパッケージ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.コンパイル
[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/.