目前已不了解Hadoop相关知识,如有问题,请查找其他博客解决。

要求

把格式如下的数据导入到Hbase表中

过程

一、利用ImportTsv将CSV文件导入

1.先创建一个表(hbase-csv1),且列族为info

[hadoop@MASTER ~]$ hbase shell
hbase(main):002:0> create 'hbase-csv1','info'

2.把文件上传至HDFS

#要上传的文件
[hadoop@MASTER ~]$ ls -l small_user_hbase.csv 
-rw-r--r-- 1 hadoop hadoop 12542830 Dec  3  2018 small_user_hbase.csv
#上传
[hadoop@MASTER ~]$ hadoop fs -put small_user_hbase.csv /

3.把small_user_hbase.csv导入hbase的hbase-csv1表中

格式:hbase [类] [分隔符] [行键,列族] [表] [导入文件]
[hadoop@MASTER ~]$ hbase  org.apache.hadoop.hbase.mapreduce.ImportTsv  -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,info:user_id,info:item_id,info:behavior_type,info:behavior_type,info:time hbase-csv1 /small_user_hbase.csv

info是列族,后边的user_id,item_id...是small_user_hbase.csv中的头部信息,导入后就是info列族中的列

4.查看是否导入

hbase(main):002:0> scan 'hbase-csv1'
ROW                                    COLUMN+CELL                                                                                                  
 10001082                              column=info:behavior_type, timestamp=1543569641473, value=2014-12-14 16                                      
 10001082                              column=info:item_id, timestamp=1543569641473, value=1                                                        
 10001082                              column=info:user_id, timestamp=1543569641473, value=85851739                                                 
 100029775                             column=info:behavior_type, timestamp=1543569641473, value=2014-12-09 18                                      
 100029775                             column=info:item_id, timestamp=1543569641473, value=1                                                        
 100029775                             column=info:user_id, timestamp=1543569641473, value=70394849                                                 
 100068031                             column=info:behavior_type, timestamp=1543569641473, value=2014-12-11 09                                      
 100068031                             column=info:item_id, timestamp=1543569641473, value=1                                                        
 100068031                             column=info:user_id, timestamp=1543569641473, value=315643365                                                
 100076491                             column=info:behavior_type, timestamp=1543569641473, value=2014-12-09 08                                      
 100076491                             column=info:item_id, timestamp=1543569641473, value=1                                                        
 100076491                             column=info:user_id, timestamp=1543569641473, value=75205807                  

导入成功!

5.导出CSV文件

[hadoop@MASTER ~]$ hbase org.apache.hadoop.hbase.mapreduce.Export hbase-csv1 /test1

6.查看

[hadoop@MASTER ~]$ hadoop fs -cat /test1/part-m-00000

导出成功!

二、利用Import将CSV文件导入

1.将hbase-csv1表信息导出至HDFS

[hadoop@MASTER ~]$ hbase org.apache.hadoop.hbase.mapreduce.Export hbase-csv1 /test2

2.创建新表

[hadoop@MASTER ~]$ hbase shell
hbase(main):002:0> create 'hbase-csv2','info'

3.导入Hbase

[hadoop@MASTER ~]$ hbase org.apache.hadoop.hbase.mapreduce.Import hbase-csv2 /test2

4.查看

[hadoop@MASTER ~]$ hbase shell
hbase(main):002:0> scan 'hbase-csv2'
101570788          column=info:user_id, timestamp=1543569641473, value=
                    314675107                                           
 101575870          column=info:behavior_type, timestamp=1543569641473, 
                    value=2014-12-13 19                                 
 101575870          column=info:item_id, timestamp=1543569641473, value=
                    1                                                   
 101575870          column=info:user_id, timestamp=1543569641473, value=
                    401863214                                           
 101612200          column=info:behavior_type, timestamp=1543569641473, 
                    value=2014-11-25 09                                 
 101612200          column=info:item_id, timestamp=1543569641473, value=
                    1                                                   

导入成功!

参考

[1]HBase数据导入的几种操作_李国冬的博客-CSDN博客_hbase导入数据

[2]Hbase表两种数据备份方法-导入和导出示例_Data_IT_Farmer的博客-CSDN博客_hbase 备份

[3]hbase_数据备份(导入/导出)_qq_41665356的博客-CSDN博客_hbase数据导出

[4]HBase 常用Shell命令 - 五三中 - 博客园

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐