4.1基本的な紹介:
HadoopのHiveのが基づいているデータウェアハウス・ツール、あなたができるデータベースのテーブルにデータファイルの構造をマップし、完全なSQLクエリ機能を提供し、あなたはMapReduceのタスクを実行するSQL文を変換することができます。利点は、あなたがすることができ、学習の低コストであるSQL文を入力し、データウェアハウスは、統計分析のために非常に適している、専門のMapReduceアプリケーションを開発することなく、素早く簡単なMapReduceの統計を達成するために。
ハイブは、Hadoopのデータ・ウェアハウス・インフラストラクチャに基づいています。これはHadoopの分析に格納されている大規模なデータの格納、クエリ、および機構であるデータ抽出変換ローディング(ETL)のために使用することができるツールの範囲を提供します。ハイブは、クエリデータへのSQLに精通しているユーザーを可能にHQLと呼ばれるシンプルなSQLに似たクエリ言語を定義します。同時に、言語も内蔵のマッパーと減速複雑な分析を処理するために定義された自己マッパーと減速のMapReduceの開発に精通している開発者が完了できないことができます。
4.2とリレーショナルデータベースの違い
ハイブとリレーショナルデータベースは異なるがたくさんあります
- ハイブファイルとHDFS(Hadoopの分散ファイルシステム)のHadoopのハイブを使用して、リレーショナル・データベース・ストレージ・システム、異なる、リレーショナルデータベースは、サーバ・ファイル・システムに対してローカルです。
- 計算モデルは、MapReduceのを使用してハイブ、およびリレーショナルデータベースモデルは、独自のデザインの計算です。
- リレーショナル・データベースは、ビジネス設計のリアルタイムクエリのために行われ、ハイブは、膨大なデータマイニングデータ行うことです、デザインをリアルタイムのパフォーマンスが悪いですが、アプリケーションシナリオとリレーショナルデータベースのリアルタイムのリードハイブ間の差は非常に異なっています。
- ハイブは、簡単に拡張し、これはHadoopの継承され、そのストレージ容量とコンピューティングパワーを、そしてこれよりも多くの悪化したデータベースの面で、リレーショナルデータベース。
4.3コンポーネント
サーバーコンポーネント:
ドライバ・コンポーネント:このコンポーネントは、コンパイラ、オプティマイザとエグゼキュータを含み、それは私たちが書く役割です(SQLのような)HiveQL文の解析、コンパイラの最適化、実行計画をして、MapReduceの計算基本的なフレームワークを呼び出します。
メタストアコンポーネント:メタデータサービスコンポーネント、リレーショナルデータベースに格納されたハイブ、ハイブメタデータは、リレーショナルデータベースのサポートハイブがダービーは、MySQLに格納されたコンポーネントのメタデータ。メタデータは、ハイブのために非常に重要であるハイブので、それによって堅牢ハイブの実行を保証するために、ハイブメタストアサービスとサービスをデカップリング、リモートサーバのクラスタへの独立したメタストアサービス、インストールをサポートし、。
スリフトサービス:倹約するFacebookが開発したソフトウェアフレームワークであり、それは、スケーラブルでクロス言語サービス開発する異なるプログラミング言語は、ハイブインターフェースを呼び出すことができますハイブ統合サービスを使用していました。
クライアントコンポーネント:
CLI:コマンドラインインタフェース、コマンドラインインタフェース。
スリフトクライアント:そこに上記のアーキテクチャ図には、ライトスリフトクライアントはありませんが、ハイブアーキテクチャインターフェース、多くのクライアントは、JDBCやODBCインターフェイスを含む倹約クライアント、上に構築されています。
WEBGUI:ハイブハイブクライアントは、Webページにアクセスする方法で提供されるサービスを提供します。このインタフェースの対応はHWIサービスを開始するには、使用する前に、HWI部品(ハイブWebインターフェイス)のハイブ。
4.4はじめに
まず、プレーンテキストファイルを作成し、データの唯一のラインがあり、銀行が唯一の文字列を格納し
エコー 'sharpxiajun'> /home/hadoop/test.txt
その後、我々は、以下の表にハイブを建てました。
ハイブ-eは、「テーブル試験(値列)を作成します。
そして、データをロードします。
負荷データのローカルINPATHテーブルテストへの「ホーム/ Hadoopの/ test.txtの」上書き
最後に、我々は下の表を照会します:
ハイブ-e「テストから選択*」;
その他4.5
Lリレーショナルデータベースは、スキーマテーブルはデータがロードされる時にロードされた決定力に(データを格納するためのデータベース・ファイル・フォーマットを意味ローディングモードテーブル)に、データがロードされている場合、それはモードと一致していないロードが見出されたデータは、リレーショナルデータベースは、負荷を拒否しますデータは、これは「と呼ばれる書き込みモード」データロード時間のデータパターンの書込みモード動作チェックサム。異なる時間とリレーショナル・データベースでハイブのロードデータは、ハイブデータは、データがロードされたとき、それはデータファイルは変更されませんがチェックされることはありませんロードされ、かつにおける動作確認データ形式のクエリ動作時間を実行し、このモードは"と呼ばれていますとき読出しモード。」速度が非常に遅いロード・データにあるが、データが十分にロードされたとき、私たちは時に高速なクエリデータに行ってきました。ので、実際には、書き込みモードでは、指標時にデータをロードする、データ圧縮に表示されます 我々のデータは構造化されていないときに、リレーショナルデータ操作などのシーンが多くのトラブル時にストレージモードも不明である。しかし、この時間は、ハイブは、その強みに再生されます。
Lリレーショナルデータベースにする重要な特徴である行またはデータの特定の行、削除の更新動作を、ハイブは、特定の行の動作をサポートしていない、データ上のハイブ操作のみオリジナルデータと付加データをサポートして覆います。ハイブはサポートしていない取引とインデックスを。更新、トランザクション、およびインデックス機能は、リレーショナルデータベースは、ハイブが大量のデータを処理するように設計されているので、サポートしていないこれらのハイブは、ある特定のデータのために、通常、作業効率の全体のデータをスキャンし、サポートする予定はありません。最後に、テーブルを照会することによって、新しいテーブルに格納された元のデータをハイブ形質転換された更新操作の悪いされ、この伝統的なデータベースと更新操作は非常に異なっています。
Lハイブは独自の貢献をするのHadoop上でリアルタイムクエリでもを行うことができ、それはHBaseの統合で、HBaseのはすぐに見つけることができますが、HBaseのは、SQL文をサポートしていない、そしてハイブまでの時間は、HBaseののSQL構文解析を提供することができます住宅、データベースは、HBaseのSQL文のタイプの操作を使用することができます。