我使用sqoop将数据从sqlserver导入hbase。我还可以使用sqoop merge命令更新hbase中的数据吗?谢谢
wf82jlnq1#
sqoop merge不支持hbase,但运行新的导入(甚至从其他sql表)将覆盖hbase中的数据。您可以提供一个自定义where+自定义列来更新所需的数据,而不影响已存储在hbase中的其余数据:
sqoop import --connect [CONN_STRING] --username [USERNAME] --password [PASSWORD] \ --table my_mysql_table --hbase-table my_hbase_table --column-family info \ --where "date_updated >= (NOW()-INTERVAL 24 HOUR)" --columns "id, data"
此命令将更新列 info:data 在 my_hbase_table 与 data 每行字段 my_mysql_table 用一个 date_updated 过去24小时范围内的字段(sql server的条件不同)请注意,您还需要提供符合hbase行键的列( id 在这种情况下),否则它将无法工作。
info:data
my_hbase_table
data
my_mysql_table
date_updated
id
1条答案
按热度按时间wf82jlnq1#
sqoop merge不支持hbase,但运行新的导入(甚至从其他sql表)将覆盖hbase中的数据。您可以提供一个自定义where+自定义列来更新所需的数据,而不影响已存储在hbase中的其余数据:
此命令将更新列
info:data
在my_hbase_table
与data
每行字段my_mysql_table
用一个date_updated
过去24小时范围内的字段(sql server的条件不同)请注意,您还需要提供符合hbase行键的列(
id
在这种情况下),否则它将无法工作。