HBase数据的导入和导出

本文介绍HBase中两种数据导入导出方法:通过HBase自带接口和使用Hadoop工具。具体步骤包括配置环境、执行导入导出命令等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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中已经创建好的,否则会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值