以下の内容はhttps://syossan.hateblo.jp/entry/2017/07/11/005205より取得しました。


sqoopでhbaseへのimport時に好きな文字列をRowKeyにする

sqoopを使ってhbaseへimportする際にRowKeyを指定するには --hbase-row-key を使いますが、
通常はcolumnを一つ指定するか、カンマ区切りのリストで複数のcolumnを指定する形になります。

しかし、好きな文字列とcolumnの値を結合してをRowKeyにしたい場合はどうすればいいでしょう?

試しに以下のようなテーブルでやってみましょう。
DBはMySQLを想定しています。

テーブル名:user
カラム:
・id
・name

このテーブルからhbaseに以下のような形でimportしてみましょう。

RowKey:id_1_name_taro
CF:
・id
・name

それでは、sqoopでimportしてみます。
接続先の情報は省略しています。

sqoop import \
-- query "SELECT id, name, CONCAT('id_', id, '_name_', name) AS rowkey FROM user WHERE \$CONDITIONS"
--hbase-row-key rowkey

これでRowKeyが id_1_name_taro という形になります。
単純に CONCAT でRowKey用のカラムを作るって感じです。 あまり捻りのない感じですが、考え付くまでに時間がかかったので備忘録代わりに・・・




以上の内容はhttps://syossan.hateblo.jp/entry/2017/07/11/005205より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14