Hadoopの、ハイブ、HBaseの違い
1、Hadoopの:それは、分散コンピューティング+分散ファイルシステムであり、前者は、実際にはHDFSでのMapReduceです。独立して動作することができ、後者は前者を選択的に使用してもよいし、用いなくてもよいです
2、ハイブ:人気のデータウェアハウス、データウェアハウスは、同様の機能のSQLステートメントをサポートしているデータファイルHDFS管理、である、あなたは声明を通じて、分散環境でのコンピューティング能力を完了できると言うことは、ハイブ意志文MapReduceのに変換され、Hadoopを実行します。ここでの計算は、追加と削除、むしろ更新するよりも、検索および分析することが制限されています。その利点は、それがリアルタイムシステムでは根本的なMapReduceの、MapReduceのパフォーマンスの低下があるため、人気のことわざとの歴史的なデータ処理が、オフラインコンピューティングは、ということです。そのアプローチは、データファイルをロードすることですハイブテーブル(またはテーブルの外)として来た、あなたは、SQL操作は、伝統的なテーブルであることを感じさせます。
3は、HBaseの:人気の言うことは、データベースのようなHBaseの行為、レガシーデータベース管理は、ローカル・データ・ファイルを集中管理されており、HDFSは、CRUDなどの分散データ・ファイルを、管理ベースのHBase。言い換えれば、その永続性ファイル管理データ(HFILE)だけで使用HDFSのHadoop HBaseのヘルプを、それがMapReduceの持つ任意の関係を持っていませんでした。HBaseのリアルタイムシステム、直接のHBaseにすべてのリアルタイムデータ、APIによって、クライアントの直接アクセスのHBaseの利点は、リアルタイムで計算します。それはそれはMapReduceのとの違いであるビッグデータのシーンを、適用することができるようにすることを、改善された検索のパフォーマンスが得られ、NoSQLの、または列構造を採用しているため。
概要:
HadoopのハイブとHBaseのの基本で、ハイブは、Hadoopのを依存しているが、唯一のHDFSモジュールでのHadoop HBaseの頼ります。
もっと便利にJavaコードを書くよりも支持体クラスSQL、MapReduceのそのオフラインデータのハイブ適し、操作が共通のフォーマット(例えば、共通ログファイル)、Hadoopの管理データファイル解析、その位置データ履歴データの倉庫、保管及び分析は、
NoSQLのカラム構造を使用して、リアルタイムの計算のためのHBase、動作は自己生成HFILEの特殊な形態であり、Hadoopのデータファイルの管理であり、そのロケーションデータベース、DBMSと呼ば又は
1つのHBaseの統合のHadoop
1)。$ HADOOP_HOMEへのコピーのHBase-site.xml構成ファイルは/ etc / Hadoopのディレクトリ
2).编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh 添加最后一行:
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/home/sheng/app/hbase-1.3.2/lib/*
3)。HBaseの-site.xmlのは変更と各ノードhadoop-env.shに分配します
テーブルの行数をテスト統計の統合:
hadoop jar $HBASE_HOME/lib/hbase-server-1.3.2.jar rowcounter /user/hbase/music.txt
あなたは、テーブルの行数を取得することができれば、成功した環境許可証を統合し、
2つのHDFSデータ内のHBaseに記憶される
アイデアは、HBaseのHFILEファイルで生成されたオリジナルデータファイルであり、次にHFILEでのHBaseのテキストにロード:一括インポート
importtsv ----> HFILEファイル内のHBaseの物理的なファイルhstoreの生成
構文を:
hadoop jar $HBASE_HOME/lib/hbase-server-1.3.2.jar importtsv
-Dimporttsv.bulk.output=指定输出的路径于用存放HFile文件
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:singer,info:gender,info:ryghme,info:terminal
-Dcreate.table=yes
表名 输入的HDFS路径
注:-Dcreate.table = yesのテーブルが表す自動的に作成します
-Dimporttsv.bulk.output=指定输出的路径于用存放HFile文件 该目录自动生成
1)HFILEファイルを生成
hadoop jar $HBASE_HOME/lib/hbase-server-1.3.2.jar importtsv -Dimporttsv.bulk.output=/user/hbase_hfile -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:singer,info:gender,info:ryghme,info:terminal -Dcreate.table=yes music4 /user/hbase
HBaseの中へ2)completedulkloadのHFILE負荷生成されたファイル
構文:
hadoop jar $HBASE_HOME/lib/hbase-server-1.3.2.jar completebulkload 加载的HDFS路径 表名
hadoop jar $HBASE_HOME/lib/hbase-server-1.3.2.jar completebulkload /user/ambow/temp4 music4