Sqoop 從MySQL導入數據到HBase的命令參考

使用SQOOP將MySQL表的數據導入到HBase表中,指定表的名稱列簇RowKey

範例如下所示:

/export/servers/sqoop/bin/sqoop import \
-D sqoop.hbase.add.row.key=true \
--connect jdbc:mysql://bd001:3306/tags_dat2 \
--username root \
--password 123456 \
--table tbl_users \
--hbase-create-table \
--hbase-table tbl_users2 \
--column-family detail \
--hbase-row-key id \
--num-mappers 2

參數含義解釋:
1、-D sqoop.hbase.add.row.key=true
是否將rowkey相關字段寫入列族中,默認爲false,默認情況下你將在列族中看不到任何row key中的字段。注意,該參數必須放在import之後。

2、--hbase-create-table 如果hbase中該表不存在則創建

3、--hbase-table 對應的hbase表名

4、--hbase-row-key hbase表中的rowkey,注意格式

5、--column-family hbase表的列族

使用SQOOP進行增量導入數據至HBase表,範例命令如下:

/export/servers/sqoop/bin/sqoop import \
-D sqoop.hbase.add.row.key=true \
--connect jdbc:mysql://bd001:3306/tags_dat2 \
--username root \
--password 123456 \
--table tbl_logs \
-- \
--hbase-create-table \
--hbase-table tag_logs \
--column-family detail \
--hbase-row-key id \
--num-mappers 20 \
--incremental lastmodified \
--check-column log_time \
--last-value '2019-08-13 00:00:00' \

相關增量導入參數說明:
1、--incremental lastmodified 增量導入支持兩種模式 append 遞增的列;lastmodified時間戳。

2、--check-column 增量導入時參考的列

3、--last-value 最小值,這個例子中表示導入2019-08-13 00:00:00到今天的值

使用SQOOP導入數據到HBase表中,有一個限制:

需要指定RDBMs表中的某個字段作爲HBase表的ROWKEY,如果HBase表的ROWKEY爲多個字段組合,就無法指定,所以此種方式有時候不能使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章