欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

hbase入门教程之hbase导入导出

程序员文章站 2022-04-21 20:51:25
1、创建test1表 # hbase shell hbase(main):004:0> create 'test1', 'cf' 0 row(s)...

1、创建test1表

# hbase shell

hbase(main):004:0> create 'test1', 'cf'

0 row(s) in 1.2450 seconds

=> Hbase::Table - test1

 

2、查看创建好的表

hbase(main):005:0> list

test1

1 row(s) in 0.0160 seconds

 

3、往test1表添加数据

hbase(main):006:0> put 'test1','1','cf:name','名字'

0 row(s) in 0.0730 seconds

 

4、查看数据

hbase(main):008:0> scan "test1"

ROW COLUMN+CELL

1 column=cf:name, timestamp=1513841265980, value=\xE5\x90\x8D\xE5\xAD\x97

1 row(s) in 0.0130 seconds

 

5、创建另一个空表test2

hbase(main):009:0> create 'test2','cf'

0 row(s) in 1.2280 seconds

=> Hbase::Table - test2

 

6、导出表test1的数据

先切换hdfs用户

# su hdfs

导出数据

# hbase org.apache.hadoop.hbase.mapreduce.Driver export test1 /test1

这时候会执行mapreduce,导出数据到hdfs文件目录

查看hdfs文件目录,数据也导出来了

# hadoop fs -ls /

Found 4 items

drwxr-xr-x - hbase hbase 0 2017-12-21 14:20 /hbase

drwxr-xr-x - hdfs supergroup 0 2017-12-21 16:46 /test1

drwxrwxrwt - hdfs supergroup 0 2017-12-20 17:42 /tmp

drwxr-xr-x - hdfs supergroup 0 2017-12-21 11:53 /user

 

如果想导出数据到本地文件系统,有些博客说加前缀 file:///,也就是

# hbase org.apache.hadoop.hbase.mapreduce.Driver export test1 file:///test1

但测试之后,首先是文件目录的权限问题,文件目录权限好了,导出时也报错_temporary/1不存在

 

7、导入数据到test2

hbase org.apache.hadoop.hbase.mapreduce.Driver import test3 hdfs://192.168.100.60:8022/test1

 

备注:hdfs的端口为NameNode 服务 RPC 端口dfs.namenode.servicerpc-address