HBase数据的导入和导出

释放双眼,带上耳机,听听看~!

2012-04-06 14:44:55
|  分类: Java
|
字号
 订阅

查阅了几篇中英文资料,发现有的地方说的不是很全部,总结在此,共有两种命令行的方式来实现数据的导入导出功能,即备份和还原。

1 HBase本身提供的接口

其调用形式为:

1)导入

./hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名  
 
数据文件位置

其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。

当其为前者时,直接指定即可,也可以加前缀file:///

而当其伟后者时,必须明确指明hdfs的路径,例如hdfs://mymaster:9000/path

2)导出

./hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名  
 
数据文件位置

同上,其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。

另外,该接口类还提供了一些其它的方法,例如表与表之间的数据拷贝,导入tsv文件等,可回车键查看

2 hadoop提供的工具(hadoop tool interface)

使用该工具的话,需要首先配置hadoop-env.sh,否则在执行时会提示缺少jar包或者class文件。

1)配置

切换到hadoop安装目录下,

vim hadoop-env.sh,加以下语句

export HADOOP_CLASSPATH="hbasejar包路径:zookeeper的jar包路径:hbase的config目录"

2)使用

 
导入:

 
 
hadoop 
jar 
/../hbase/hbase-*.jar 
import 
mytest 
/export/mybakup

 
导出:

 
hadoop 
jar 
/../hbase/hbase-*.jar 
import 
mytest 
/import/mybackup

 
直接将数据导出到hdfs目录中,当不指定file前缀时。

另外: 

export,fs的参数为hdfs上的路径时,该路径必须不能已经存在,否则会报错。

import的表必须是hbase中已经创建好的,否则会报错。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索