常看到hbase数据导入导出有:
1 mr方式
2 bulkbold
3 操作hbase java api put方式
这里说的是通过hbase 命令方式,感觉这个方式没有什么用处,暂且记录下:
hbase 数据导出:
数据导出
hbase org.apche.hadoop.hbase.mapreduce.Driver export 表名 导出的路径
eg:
[root@hadoop3 bin]# hbase org.apache.hadoop.hbase.mapreduce.Driver export stu /hbasedata 会新建hdfs目录/hbasedata,然后数据导出到这目录下
执行完毕mr后,会报错:
2016-02-27 16:26:52,218 INFO [main] mapreduce.Job: map 0% reduce 0%
2016-02-27 16:27:11,593 INFO [main] mapreduce.Job: map 100% reduce 0%
2016-02-27 16:27:12,648 INFO [main] mapreduce.Job: Job job_1456616077921_0001 completed successfully
Exception in thread "main" java.lang.reflect.InvocationTargetException 这就不知道是为啥了 但是数据导出已经成功
结果图:
hbase 命令方式导入数据到hbase:
hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名 files 导入文件路径(可以是本地files 可以是hdfs)
hbase org.apache.hadoop.hbase.mapreduce.Driver import stu1 hdfs://ip:9000/hdfs文件路径
hbase org.apache.hadoop.hbase.mapreduce.Driver import stu1 file://本地路径
[root@hadoop3 bin]# hbase org.apache.hadoop.hbase.mapreduce.Driver import stu1 /hbasedata
做测试时候 上述导入操作 报错,
2016-02-27 18:12:16,950 INFO [main] mapreduce.Job: Task Id : attempt_1456616077921_0003_m_000000_2, Status : FAILED
没找到原因,暂时不关注 ......