-1

HDFS、Datanode、namenode、および hbase を構成しました。CDR csv ファイルを HDFS に保存しました。では、どうすればそれを Hbase にマップして、処理できるように準備できるのでしょうか?

4

1 に答える 1

0

このimporttsvツールを使用して、CSV ファイルを HBase に一括読み込みできます。これを行う方法に関する適切なチュートリアルは次のとおりです

ブログ記事の要約は次のとおりです。

まず、テーブルを作成します。

hbase shell 
create 'cdr', {NAME => 'f'},   {SPLITS => ['g', 'm', 'r', 'w']} 

NAME は、列ファミリーの名前を指定します。Splits は presplitting であるため、少し高速です。これが CDR で、ROWKEY が電話番号などになる場合は、文字ではなく数字で分割する必要があります。実際にデータをチャンクに分割する分割を選択したいだけです。

次に、importtsv を使用して、cdr データ cdr.csv からデータをロードします。

hadoop jar /usr/lib/hbase/hbase-xxx.jar importtsv
-Dimporttsv.separator=,
-Dimporttsv.bulk.output=output
-Dimporttsv.columns=HBASE_ROW_KEY,f:col2,f:col3,f:col4,... cdr cdr.csv

次に、それを完了するには:

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles output wordcount 

注: 行キーが何であるかを考える必要があります。最初の列を選択することは、おそらく正しい選択ではありません。HBase はリレーショナル データベースではないことに注意してください。HBase で意味のあることを行います。

于 2014-07-23T18:01:39.687 に答える