9

私はhadoopとhbaseに非常に慣れていないので、見つけたすべてのチュートリアルで私をつまずかせるいくつかの概念的な質問があります。

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

4

2 に答える 2

15

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

1) http://hbase.apache.org/book/arch.bulk.load.htmlimporttsvなどのHBaseツールを使用しますcompletebulkload

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を使用してプログラムで実行します。ファイルをHBaseテーブルにロードするhbaseloaderという小さなプロジェクトを取得しました(テーブルには、ファイルのコンテンツを含むColumnFamilyが1つだけあります)。それを見てください。テーブルの構造を定義し、csvファイルを読み取って解析するようにコードを変更する必要があります。

4)前述の例のようにMapReduceジョブを使用してプログラムで実行します。

于 2012-12-18T14:48:29.697 に答える
2
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で削減されます。

次に、Hadoopを起動した後のUbuntu VMで、次のコマンドを使用して、作成したmapreduceクラスを実行できます。

<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ...

上記のコマンドを実行すると、作成したMap Reduceクラスが実行され、Hbaseテーブルにデータが入力されます。

お役に立てれば

于 2012-12-17T06:00:47.250 に答える