文档首页/
MapReduce服务 MRS/
组件操作指南(LTS版)/
使用HBase/
HBase企业级能力增强/
增强HBase BulkLoad工具数据迁移能力/
使用BulkLoad工具批量更新HBase数据
更新时间:2024-09-18 GMT+08:00
使用BulkLoad工具批量更新HBase数据
操作场景
HBase BulkLoad工具支持根据RowKey的命名规则、RowKey的范围、字段名以及字段值进行批量更新数据。
使用BulkLoad工具批量更新HBase数据
执行如下命令更新从“row_start”到“row_stop”的行,并且把输出结果定向到“/output/destdir/”。
hbase com.huawei.hadoop.hbase.tools.bulkload.UpdateData
-Dupdate.rowkey.start="row_start"
-Dupdate.rowkey.stop="row_stop"
-Dupdate.hfile.output=/user/output/
-Dupdate.qualifier=f1:c1,f2
-Dupdate.qualifier.new.value=0,a
'table1'
- -Dupdate.rowkey.start="row_start":表示开始行号为“row_start”。
- -Dupdate.rowkey.stop="row_stop":表示结束行号为“row_stop”。
- -Dupdate.hfile.output=/user/output/:表示执行结果输出路径为“/user/output/”。
当HBase已经配置透明加密后,“批量更新”操作注意事项请参考7。
执行以下命令,加载HFiles:
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles <path/for/output> <tablename>
注意事项
- 批量更新会把满足条件的行对应的字段值替换为要更新的值。
- 不支持批量更新已创建索引的字段的数据。
- 如果不设置执行结果输出文件,默认是“/tmp/updatedata/表名”。