首页 > 大数据 > > 4-Hbase复制表方法(导入导出、跨集群)
第一种:使用CopyTable命令复制表
1.集群1创建表
create 'test_table','f'
2、初始化测试数据
put 'test_table','1','f:q1','test1'
put 'test_table','2','f:q1','test2'
3.在集群2创建表
create 'test_table_copy','f'
4.跨集群复制表,从集群1复制到集群2
在主集群下运行
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --starttime=1265875194289 --endtime=1265878794290 --peer.adr=server1,server2,server3:2181:/hbase --new.name=test_table_copy test_table
5、可指定families和时间范围starttime
详细可见http://hbase.apache.org/book.html#copy.table
---
第二种:使用导出、导入命令复制表
1、集群1执行导出某张表
./hbase org.apache.hadoop.hbase.mapreduce.Export -D mapred.output.compress=true -D test_table /user/test_table
上面导出语句,表名是test_table,hdfs的路径是/user/test_table
也可以在上面的命令行带上时间限制参数和版本参数
[<versions> [<starttime> [<endtime>]]]
2、可以在另一个集群2执行如下命令
./hbase org.apache.hadoop.hbase.mapreduce.Import test_table /user/test_table
这样新的集群2中test_table就导入了集群1的数据
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3154342/ ,如需转载,请注明出处,否则将追究法律责任。