0

次のようなmysqlテーブルがあります。

Mebmer_ID <- primary key
Member_Name
Member_Type

以下のコマンドを実行しました。

./bin/sqoop import --connect jdbc:mysql://${ip}/testdb -username root -password blabla --query 'SELECT * from member where Member_ID < 5 AND $CONDITIONS' --split-by Member_ID - -hbase-create-table --hbase-table member --column-family i

しかし、インポート後、hbase テーブルは次のようになります。

rowkey   -  row : 1
Columns - Member_name=bla, Member_Type=bla

Sqoop が私の Member_ID を期待どおりの Rowkey に変更したことに注意してください。しかし、私の列には、Member_ID 以外のすべてのフィールドが表示されています。Member_ID を行キーとして持つことができる方法はありますか? Column Family にも Member_ID 列が含まれていますか?

これは、主キーが「id」と呼ばれていない場合、sqoop インポート後に主キーの名前が失われることも意味します。私の場合、インポート後、「Mmember_ID」と呼ばれていた行キーがわかりません。

4

1 に答える 1

2

プロパティ sqoop.hbase.add.row.key を設定してソートしました。

e.g. sqoop import -Dsqoop.hbase.add.row.key=true
于 2013-09-23T00:51:36.317 に答える