[ハイブ]()はじめに

取ら学ぶポーター、ノート実験棟のコース

ディレクトリ

1、実験的な導入

2、ハイブものです

3、ハイブアーキテクチャ

4、ハイブとリレーショナル・データベースとの間の差 

5、ハイブのシナリオ

6、ハイブデータ記憶およびメタデータ記憶


1、実験的な導入

⭐は理論を紹介します

  • ハイブの定義
  • ハイブアーキテクチャ
  • ハイブとリレーショナルデータベースの違い
  • ハイブアプリケーションシナリオ
  • ハイブストレージ

⭐実験的な知識

  • ハイブQL
  • データETL
  • メタデータストア

⭐実験環境

  • ハイブ1.2.1
  • hadoop2.7.3
  • Xfceのターミナル

 

2、ハイブものです

   ハイブは、Hadoopのファイルシステム、データ・ウェアハウス・アーキテクチャに基づいています。これは、データウェアハウスを管理するための多くの機能提供しています:クエリに対する能力を、大規模なデータセットのデータのETL(抽出、変換、ロード)ツール、データ管理とストレージを分析します。また、SQLのような言語を定義しながら、ハイブは- 。ハイブQLハイブzQL SQLと同様の操作をユーザに可能にする、それはデータベース・テーブル・データ・ファイルの構造にマッピングされ、簡単なSQLクエリを提供することができます。また、開発者が容易にマッパーと減速操作を使用することができます、あなたがのMapReduceフレームワークが強力なサポートでのMapReduceタスクを実行するSQL文を変換することができます。

 

3、ハイブアーキテクチャ

ハイブは、私たちがおおよそのHadoopのとハイブ位置との関係を理解することができます図から、Hadoopのサブプロジェクトの重要です。

altテキスト

図上層は、Hadoopの生態系システムで説明しました。次のようにハイブシステム自体が構成されています。

画像記述情報

図から、我々は、ハイブが本質的になるに分かれて見ることができます。

  • CLI、JDBC / ODBC、などのユーザーインターフェースは、WebUI
  • メタデータストアは、通常、MySQLの、ダービーなどのリレーショナルデータベースに格納されています
  • インタプリタ、コンパイラ、オプティマイザ、エグゼキュータ
  • Hadoopのは、HDFSを格納するため、MapReduceのを使用して計算します

 

4、ハイブとリレーショナル・データベースとの間の差 

ハイブ(たとえば、SQLインタフェースのサポートなど)従来のリレーショナルデータベースに似た多くの方法、それは、従来のリレーショナルデータベースとは異なりますし、これらの違いはまた、ハイブ支持体の特性に影響を与えることをHDFSとMapReduceのアーキテクチャ手段上に下地依存で、これにより、ハイブの使用に影響を与えます。

我々はいくつかの簡単な違いを挙げることができます。

  • ハイブと異なるファイルシステムを格納するためのリレーショナルデータベース、ハイブのHadoopのHDFS(Hadoopの分散ファイルシステム)を使用して、リレーショナルデータベースは、サーバーのファイルシステムにローカルです。
  • MapReduceを用いたハイブコンピューティング・モデル、およびリレーショナルデータベースモデルは、独自設計の計算です。
  • リレーショナル・データベースは、ビジネス設計のリアルタイムクエリのために行われ、ハイブは、大規模なデータ設計、リアルタイムの貧困層をデータマイニングを行うことですされ、リアルタイムのアプリケーションシナリオとの違いは、ハイブにつながるとリレーショナルデータベースは非常に異なっています。
  • ハイブは、簡単にストレージ容量と演算能力を拡大し、これは、この点に関してはるかに悪いでのHadoopの継承、およびリレーショナルデータベースです。

5、ハイブのシナリオ

比較すると、ハイブ従来のリレーショナルデータベースの後、実際には、我々は簡単に適用することができハイブシーンを来ることができます。

ハイブは、静的なバッチのHadoopに基づいて構築され、Hadoopが通常より長い待ち時間を持っており、ジョブの投入とスケジューリング時のオーバーヘッドの多くを必要とします。したがって、ハイブは、大きなデータセット上で低レイテンシの高速クエリには適していません。

ハイブは、オンライン・トランザクション処理(OLTP)などの低レイテンシーを必要とする用途には適していません。ハイブクエリ操作プロセスは、厳密にHadoopのMapReduceジョブの実行モデルを遵守し、ハイブは通訳、ジョブを実行し、ユーザにジョブの実行結果に戻るには、Hadoopのモニタリングプロセスを通じてのHadoopクラスタのMapReduceジョブに提出し、ユーザーのHiveQL文を変換します。ハイブは、オンライン・トランザクション処理のために設計されていない、ハイブは、行レベルの操作に基づいて、リアルタイムのクエリと更新データを提供していません。

ハイブは、大規模なデータセット、例えば、Webログ解析バッチジョブの最良の使用です。

6、ハイブデータ記憶およびメタデータ記憶

Hiveのストレージは、Hadoopのファイルシステムの上に構築されています。ハイブは、専用のデータ・ストレージ・フォーマットを持っていないユーザーは非常に自由に、テーブルにテーブルを作成するときにデータを解析することができますハイブデータ列の区切りを指示するだけの必要性をハイブを整理することができますので、データは、インデックスを作成することはできません。

ハイブは、メインデータの4種類を含む表(Table):モデル外部表(External Table)分区(Partition)および  桶(Bucket)

データベース内ハイブテーブルとテーブルがコンセプトには本質的な違いはありません、ハイブ各テーブルには、対応するストレージディレクトリを持っています。既にHDFSに存在するデータへの外部表ポイントは、パーティションを作成することができます。各インデックスデータベース分割列、異なる従来のリレーショナル・データベース・パーティションのその組織及び方法にハイブ各パーティション対応します。ときに指定された列浴槽ハッシュ計算、ハッシュ値ベースのセグメンテーションデータ、ファイルに各バケットに対応します。

メタデータ以来ハイブは、それが明らかにストレージ用に使用Hadoopのファイルシステムには適していませんので、常に、更新、変更、および読み取り操作を顔に持っているかもしれません。現在、ハイブメタデータは、に保存されているなどのMySQL、ダービーとしてRDBMSに格納されます。我々は、上記の図ハイブシステムに記載された構成では、それはまた見ることができます。

 

 

公開された44元の記事 ウォン称賛16 ビュー10000 +

おすすめ

転載: blog.csdn.net/YYIverson/article/details/101111426