使用CopyTable同步HBase数据
CopyTable是Hbase提供的一个数据同步工具,可以用于同步表的部分或全部数据
使用步骤:
1.创建目标表。表的列族和原表列族保持一致。如果不一致可以修改
先增加新的:alter '表名',{NAME=>'cf1'}
后删除旧的:alter '表名','delete'=>'CF'
2.进入到hbase的bin目录下执行命令
hbase org.apache.hadoop.hbase.mapreduce.CopyTable -Dhbase.client.scanner.caching=200 -Dmapreduce.local.map.tasks.maximum=16 -Dmapred.map.tasks.speculative.execution=false --peer.adr=zk1,zk2,zk3:2181:/hbase --starttime=1579154592126 --endtime=1579154592190 --new.name=要入数据的表名 复制数据的表名
参数说明
CopyTable常用选项说明如下:
--startrow 开始行。
--stoprow 停止行。
--starttime 时间戳(版本号)的最小值。
--endtime 时间戳的最大值。如果不指定starttime,endtime不起作用。
--peer.adr 目标集群的地址。格式为:hbase.zookeeer.quorum:hbase.zookeeper.client.port:zookeeper.znode.parent
--families 要同步的列族。多个列族用逗号分隔。
--all.cells 删除标记也进行同步。
更多参数参见官方文档