我使用sql server中的sqoop导入数据到hbase。我还可以使用sqoop-merge命令更新hbase中的数据吗?
由于
答案 0 :(得分:0)
sqoop-merge不支持hbase,但运行新的导入(甚至从其他sql表)将覆盖hbase中的数据。您可以提供自定义位置+自定义列,以仅更新所需数据,而不会影响已存储在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
字段在过去24小时内都带有date_updated
字段范围(SQL服务器的条件不同)
请注意,您需要提供符合hbase行键的列作为列(在本例中为id
),否则它将无法正常工作。