Hive と Hbase の関係と違い

ハイブ

1. Hive は Hadoop データ ウェアハウス管理ツールです。厳密に言えば、データベースではありません。データの保存や処理は行いません。データの保存には HDFS、データ処理には MapReducer に依存します

2. Hive の利点は、学習コストが低く、特別な MR プログラムを開発することなく、SQL に似たステートメント (HSQL) を通じて単純な MR タスクを迅速に実装できることです。

3. Hive は MapReducer に依存してデータを処理するため、待ち時間が長く、リアルタイム データ処理 (データ クエリ、データ挿入、データ分析) には適していません。また、オフライン データのバッチ処理に適しています。

HBase

1.HBase は、大規模なデータ ストレージをサポートする分散型のスケーラブルな NOSQL データベースです

2. HBase は主に大量のデータのリアルタイム データ処理 (ランダムな読み取りと書き込み) に適しています。

3. HDFS はランダムな読み取りと書き込みをサポートしていないため、HDFS のランダムな読み取りと書き込みができないことを補うために、HBase が誕生しました。

共通点

hbase と hive は両方とも Hadoop 上に構築されています。これらはすべて、基盤となるストレージとして HDFS を使用します。

違い

1. Hive は MapReduce ジョブの作成作業を軽減するために Hadoop 上に構築されたバッチ処理システムであり、HBase はリアルタイム操作における Hadoop の欠点を補うプロジェクトをサポートします。一般に、hive はオフライン データのバッチ処理に適しており、hbase はリアルタイム データ処理に適しています。

2. Hive 自体はデータの保存や計算を行いません。データの保存には HDFS、データの処理には MapReduce に完全に依存しています。Hive のテーブルは純粋に論理的なものです。

3. hbase は論理テーブルではなく物理テーブルであり、検索エンジンがクエリ操作を容易にするためにインデックスを保存するための大規模なメモリ ハッシュ テーブルを提供します。

4. HDFS はランダムに読み書きできないため、hive はランダム書き込み操作をサポートしませんが、hbase はランダム書き込み操作をサポートします。

5.HBase は単純なキー クエリのみをサポートし、複雑な条件クエリはサポートしません。

Hive と Hbase の基礎となる層の比較

Hive のテーブルは純粋に論理テーブルであり、テーブルの定義、つまりテーブルのメタデータにすぎません。厳密に言えば、これはデータベースではなくHive 自体はデータを保存せず、HDFS と MapReduce に完全に依存していますこのようにして、構造化データ ファイルをデータベース テーブルにマップし、完全な SQL クエリ関数を提供し、最終的に SQL ステートメントを実行用の MapReduce タスクに変換できます。HBase テーブルは物理テーブルであり、非構造化データの保存に適しています。

Hive は MapReduce に基づいてデータを処理し、MapReduce は行ベース モードでデータを処理します。HBase は行ベースではなく列ベース モードでデータを処理します。これは大量のデータのランダム アクセスに適しています。

HBase テーブルは疎に格納されるため、ユーザーは行にさまざまな列を定義できますが、Hive テーブルは高密度、つまり定義される列の数が多く、各行は固定数の列にデータを格納します。

Hive はデータの分析と処理に Hadoop を使用します。Hadoop システムはバッチ処理システムであるため、低い処理遅延を保証できませんが、HBase はほぼリアルタイムのシステムであり、リアルタイムのクエリをサポートします。

ビッグ データの使用を開始すること、および Hive と Hbase の違いの比較については、上で詳しく説明しました。Hadoop を中心とするビッグデータ技術のエコシステムにおいて、Hive と Hbase はそれぞれ独自の位置を占め、それぞれの役割を果たしており、それぞれの位置づけを明確にすることがその後の学習において重要です。

Supongo que te gusta

Origin blog.csdn.net/qq_44881930/article/details/130115293
Recomendado
Clasificación