2017-10-30 13 views
0

HBaseにいくつかの大きな.csvファイルをインポートしようとしています(合計で1TB超)。データはリレーショナルDBからのダンプのように見えますが、UIDはありません。また、すべての列をインポートする必要はありません。標準のhbase importtsvバルクインポートを使用してそれらをインポートできるように、カスタムMapReduceジョブを最初に実行して、必要な形式(列を選択+ UIDを生成)にする必要があると判断しました。HBaseコンポジットの行キーのフォーマット

私の質問:MapReduceを使用してstoreID:year:UIDという独自の複合行キーを作成し、それをtsv importにフィードできますか?そう言って、私のデータは次のようになります。私が理解から

row_key | price | quantity | item_id 
A:2012:1| 0.99 |  1 |  001 
A:2012:2| 0.99 |  2 |  012 
B:2013:1| 0.99 |  1 |  004 

は、HBaseのは、タイムスタンプを除いて、バイトとしてすべてを格納します。これが複合キーであることを理解する予定ですか?

ご迷惑をおかけして申し訳ありません。

答えて

0

基本的には、答えはイエスである、と何の区切り文字は必要ありません私は、Clouderaので同じ質問を超える尋ね、その答えはhere.

を見つけることができます。私は、次の形式にデータを変換するためのMapReduceジョブを使用:importtsvとcompletebulkloadを使用して

A2012:1,0.99,1,001 A2012:2,0.99,2,012

は、データが正しく、正しいHBaseの領域にロードされました。 storeID(A、B、C、...)を使用してテーブルを事前に分割しました。

関連する問題