1。ユーザインタフェース:クライアント
CLI(コマンドラインインターフェイス)、JDBC / ODBC(JDBCアクセスハイブ)は、WebUI(ブラウザアクセスハイブ)
2。メタデータ:メタストア
メタデータが含まれています:テーブル名、テーブル、データベース(デフォルトはデフォルトである)、テーブルの所有者は、カラム/パーティションの分野に属する、表を入力(外部表場合)、ここで、コンテンツおよび他のデータのテーブル。
デフォルトは、データベースに格納されているダービーが来る、MySQLのストレージメタストアを使用することをお勧めします
3.Hadoop
HDFSストアを使用して、MapReduceのを使用して計算されます。
4。ドライバ:ドライバ
(1)パーサー(SQLパーサ):抽象構文木ASTにSQL文字列を変換し、このステップは、通常、ANTLRのように、サードパーティツールライブラリを用いて行われる、AST解析のために、そのようなテーブルが存在し、フィールドが存在し、 SQLセマンティクスが間違っています。
(2)コンパイラ(物理計画):ASTコンパイルロジック実行計画。
(3)オプティマイザ(クエリオプティマイザ):ロジックの実行プランの最適化。
(4)アクチュエータ(実行)は:実行することができ、物理実行計画ロジックプログラムに変換します。ハイブのために、それはMR /スパークにあります。
Hadoopのに提出されたユーザの指示(SQL)を受信するユーザに提供する対話型インターフェースの一連のハイブ、メタデータ(メタストア)の結合、それ自身のドライバを使用し、MapReduceのに命令を翻訳し、実行され、最終的に、実行が戻っユーザーとの対話インタフェースへの出力結果を。