web-dev-qa-db-ja.com

csvデータをHbaseにロードする

私は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ロジスティクスをカバーするものは何も見つかりません。どんな助けでも大歓迎です。

9
bjoern

データをHBaseに一括ロードするためにMapReduceジョブをコーディングする必要はありません。データをHBaseに一括ロードする方法はいくつかあります。

1)importtsvcompletebulkloadhttp://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ジョブを使用してプログラムで実行します。

15
Diego Pino
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テーブルにデータが入力されます。

お役に立てれば

2
shazin