ハイブは、レコードの基本的な概念を学びます01-
ハイブの基本的な概念
巣箱
- ハイブ:ログの大規模な構造を解決するための統計のためのFacebookのオープンソース。
- ハイブは、ツールを倉庫Hadoopのデータに基づいており、あなたがテーブルにデータファイルの構造をマップし、SQLに似たクエリを提供することができます。
- 基本的に:HQLは、MapReduceのプログラムに変換しました
ご注意ください
- 1)データ記憶装置にハイブHDFS処理
- 2)基礎となるデータハイブのデフォルトの実装では、MapReduceのある分析
- 3)プログラムの実施は、糸上で実行されています
ハイブの長所と短所
利点
- SQLに似た構文、(使いやすい、シンプルで)急速な発展を提供する能力を使用して、インターフェイスオペレータ。
- 、MapReduceのを作成する開発者のための学習コストを削減するために回避。
- ハイブ実行遅延は、ハイブ、一般的にデータ分析に使用されるので、比較的高い、より少ないリアルタイムアプリケーションを要求します。
- ハイブの実行が比較的遅れているため、データに少なからず利点を処理するためのビッグデータ処理のハイブ利点、
高いです。 - ハイブは、ユーザー定義関数をサポートし、ユーザーが自分のニーズに応じて、独自の機能を実装することができます。
短所
- 反復アルゴリズムを表現することはできません
- データマイニングは良いものではありません
- ハイブ自動的に生成されたMapReduceジョブ、通常は十分ではありませんインテリジェンス
- ハイブのチューニングがより難しく、粗いです
ハイブアーキテクチャの原則
- ユーザインタフェース:クライアント
CLI(ハイブシェル)、JDBC / ODBC(Javaのハイブへのアクセス)は、WebUI(ブラウザアクセスハイブ) - メタデータ:メタストア
メタデータが含まれています:テーブル名、テーブル、データベース(デフォルトはデフォルトである)、テーブルの所有者は、カラム/パーティションフィールド、テーブルに属する
タイプ(それは外部のテーブルであるかどうか)、データディレクトリと他のテーブルと、
デフォルトのストレージDerbyデータベースが来るには、MySQLのストレージメタストアを使用することをお勧めします - Hadoopのは
、HDFSストアを使用したMapReduceを使用して計算されます。 - ドライブ:ドライバ
(1)パーサ(SQLパーサ):抽象構文木ASTにSQL文字列を変換し、このステップは、一般的に使用され
、そのようなANTLRをサードパーティツールマガジンを完了するために、AST解析そのようなテーブルが存在し、フィールドあるかどうかを
SQLセマンティクス間違っているかどうか、で。
(2)コンパイラ(物理計画):ASTコンパイルロジック実行計画。
(3)オプティマイザ(クエリオプティマイザ):ロジックの実行プランの最適化。
(4)アクチュエータ(実行):物理的な実行計画ロジックプログラムを実行することができるに変換します。ハイブをするために
言って、それはMR /スパークです。
オペレーティングメカニズム
Hadoopのに提出されたユーザの指示(SQL)を受信するユーザに提供する対話型インターフェースの一連のハイブ、メタデータ(メタストア)の結合、それ自身のドライバを使用し、MapReduceのに命令を翻訳し、実行され、最終的に、実行が戻っユーザーとの対話インタフェースへの出力結果を。
ハイブと従来のデータベースの比較
- ハイブSQLに似たHQLで使用されるクエリ言語。どちらも、SQLで操作することができます
- HDFSに保存されたデータハイブ。データベースは、データがブロックデバイスまたはローカルファイルシステムに保存されています。
- データウェアハウス・アプリケーションの設計のためのハイブは、読書とあまり書くことによって特徴付けられます。データベースのデータ変更操作が通常必要。
- ハイブは、リアルタイムクエリには適していません、インデックスが作成されていません。従来のデータベースのインデックスが存在します。
- MapReduceのことでハイブクエリの実行。データベースには、独自のデータベースの実行エンジンを介してです。
- ハイブ全表スキャン、高遅延。データの一定量内の低レイテンシ・データベースは、大規模なデータ容量の面では、ハイブの処理速度が速くなります。
- ハイブは、高い拡張します。従来のデータベースのスケーラビリティが低いです。
- ハイブのサポート大規模データ。従来のデータベースのデータ小規模。