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的數據
推薦閱讀:
※寒冬之下,互聯網金融的數據化建設心得
※大數據真的可以預測未來嗎?
※在大數據時代,每家公司都要有大數據部門嗎?
※大數據是什麼