1、将数据导出
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.Export
-Dhbase.client.scanner.caching=1000
-Dhbase.export.scanner.batch=10 TableName(导出的表名) hdfs://host:8020/user/hbase/TableName_HDFS(导出到HDFS目录)
2、使用Import将Export的数据转换为HFile
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.Import
-Dimport.bulk.output=/user/hbase/TableName_OutPut(HDFS导出目录,为了下一步导入使用) TableName(表名) /user/hbase/TableName_HDFS(1中的最后的目录)
3、将HFile移动到表TableName对应的Hbase目录
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /user/hbase/TableName_OutPut(2中的HDFS导出目录) TableName (表名)
具体目录对应关系如上标注。此方式对集群造成的压力会比较小。