HBase的导出工具是一个内置的实用功能,它使数据很容易从hbase表导入HDFS目录下的SequenceFiles文件。它创造了一个map reduce任务,通过一系列HBase API来调用集群,获取指定表格的每一行数据,并且将数据写入指定的HDFS目录中。这个工具对集群来讲是性能密集的,因为它使用了mapreduce和HBase 客户端API。但是它的功能丰富,支持制定版本或日期范围,支持数据的筛选,从而使增量备份可用。
下面是一个导出命令的简单例子:
一、导出数据
1.在hdfs中创建目录
hdfs dfs -mkdir /hbase/data/default/bak
2.导出数据到指定hdfs目录
hbase org.apache.hadoop.hbase.mapreduce.Export vehrecord /hbase/data/default/bak/vehrecord
3.将hdfs中备份的数据导出到本地目录
hdfs dfs -get /hbase/data/default/bak/vehrecord /soft/bak
二、导入数据
1.将备份数据导入到目标集群的本地目录
2.在hdfs中创建目录
hdfs dfs -mkdir /hbase/data/default/bak
3.将备份文件添加到hdfs中
hdfs dfs -put /soft/bak/vehrecord /hbase/data/default/bak/
4.先在hbase中创建vehrecord表
进入hbase shell,创建’vehrecord’表:
create 'vehrecord',{NAME => 'cf', REPLICATION_SCOPE => 1}
5.导入数据到vehrecord表
hbase org.apache.hadoop.hbase.mapreduce.Import vehrecord /hbase/data/default/bak/vehrecord
在hbase中查询,已成功导入