私はhadoopとhbaseに非常に慣れていないので、見つけたすべてのチュートリアルで私をつまずかせるいくつかの概念的な質問があります。
私のwin7システムではubuntu VM)内の単一ノードでhadoopとhbaseを実行しています。単一のhbaseテーブルにロードしたいcsvファイルがあります。
列は次のとおりです:loan_number、borrower_name、current_distribution_date、loan_amount
このcsvファイルをhbaseにロードするには、MapReduceジョブを作成する必要があることを知っています。次のチュートリアルでは、このMapReduceジョブを作成するために必要なJava)について説明します。 http://salsahpc.indiana.edu/ScienceCloud/hbase_hands_on_1.htm
私が見逃しているのは:
これらのファイルはどこに保存し、どこでコンパイルしますか? Visual Studio12を実行しているWin7マシンでこれをコンパイルしてから、ubuntu vmに移動する必要がありますか?
私はこれを読んだSO質問と回答ですが、まだ基本が欠けていると思います: MapReduceを使用してCSVファイルをHbaseテーブルにロードする
これらの基本的なhadoop/hbaseロジスティクスをカバーするものは何も見つかりません。どんな助けでも大歓迎です。
データをHBaseに一括ロードするためにMapReduceジョブをコーディングする必要はありません。データをHBaseに一括ロードする方法はいくつかあります。
1)importtsv
やcompletebulkload
http://hbase.Apache.org/book/Arch.bulk.load.html などのHBaseツールを使用します。
2)Pigを使用してデータを一括ロードします。例:
A = LOAD '/hbasetest.txt' USING PigStorage(',') as
(strdata:chararray, intdata:long);
STORE A INTO 'hbase://mydata'
USING org.Apache.pig.backend.hadoop.hbase.HBaseStorage(
'mycf:intdata');
3)HBaseAPIを使用してプログラムで実行します。 hbaseloader という小さなプロジェクトを取得しました。このプロジェクトはファイルをHBaseテーブル(テーブルには1つだけColumnFamilyがあり、ファイル)。それを見てください。テーブルの構造を定義し、コードを変更してcsvファイルを読み取って解析するだけです。
4)前述の例のようにMapReduceジョブを使用してプログラムで実行します。
Where do I save these files and where do I compile them? Should I compile this on my win 7 machine running visual studio 12 and then move it to the ubuntu vm?
MapReduceクラスはどこにでも保存できます(Win7またはUbuntuVMのいずれか)。どこでもコンパイルできます。作成したクラスを使用してJarファイルを作成するだけで、マップを実行するためのjarがVMで削減されます。
次に、Ubuntu VMでHadoopを起動した後、次のコマンドを使用して、作成したmapreduceクラスを実行できます。
<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ...
上記のコマンドを実行すると、作成したMap Reduceクラスが実行され、Hbaseテーブルにデータが入力されます。
お役に立てれば