hbase 导入导出

hbase导入导出第一方案:
hbase已经自带了这个命令,下面就说一下怎么使用这个命令

(一)设置环境变量

在hadoop-0.20.2/conf/hadoop-env.sh 中添加

export HBASE_HOME=/home/rain/hbase/hbase-0.90.0

export HADOOP_CLASSPATH=$HBASE_HOME/hbase-0.90.0.jar:$HBASE_HOME:$HBASE_HOME/lib/zookeeper-3.3.2.jar:$HBASE_HOME/conf

(二)导出

1)输入命令hadoop-0.20.2/bin/hadoop jar /home/rain/hbase/hbase-0.90.0/hbase-0.90.0.jar export 表名 路径

eg:hadoop-0.20.2/bin/hadoop jar /home/rain/hbase/hbase-0.90.0/hbase-0.90.0.jar export CARREGISTER /home/rain/tableout

2)从hdfs拷出来

输入命令hadoop-0.20.2/bin/hadoop -copyToLocal /home/rain/tableout /somewhere/local

eg:hadoop-0.20.2/bin/hadoop -copyToLocal /home/rain/tableout /home/rain/tableout

查看/home/rain/tableout里是否有part-m-000000,这个就是这个表导出的内容



导入

1)把rt-m-000000导入hdfs

输入命令:hadoop-0.20.2/bin/hadoop -copyFromLocal /somewhere/local  /import/your_table

eg.hadoop-0.20.2/bin/hadoop -copyFromLocal /somewhere/local  /import/carregister

从hdfs导入到hbase

输入命令:hadoop-0.20.2/bin/hadoop jar /path/to/hbase-0.90.0.jar 表名 hdfs路径

eg。doop-0.20.2/bin/hadoop jar /path/to/hbase-0.90.0.jar CARREGISTER /import/carregister

详细资料参考http://www.sethcall.com/blog/2010/04/10/how-to-export-and-import-an-hbase-table/

hbase导入导出第二方案:
[size=large][/size]
把hbase中某个表第数据导出到Hadoop中:

>hbase org.apache.Hadoop.hbase.mapreduce.Driver export table1 table1 

hbase中首先要有table1这个表才能导出成功。导出的表,在Hadoop文件系统的当前用户目录下,table1文件夹中。例如,导出后在hadoop文件系统中的目录结构:

Hadoop fs -ls后,看到:

/user/blackwing/table1/part-r-00000

2.把这个表导入到另外一台机器第hbase中时,需要把part-r-00000先put到Hadoop中,假设put的路径也是:

/user/blackwing/table1/

而且,这个要导入的hbase要已经建有相同第表格。

那么从Hadoop中导入数据到hbase:

>hbase org.apache.Hadoop.hbase.mapreduce.Driver import table1 part-r-00000 

这样,没有意外的话就能正常把hbase数据导入到另外一个hbase数据库。

你可能感兴趣的:(hbase)