hive创建hbase映射表,实现SQL化数据查询、统计
一、hbase创建表,导入数据
1、 进入Hbase shell
[root@centos ~]>hbase shell
2、 查看已有表,创建新表,查看表结构
hbase(main):001:0> list
hbase(main):002:0> create 'student', 'info', 'score'
hbase(main):003:0> desc 'student'
3、插入数据,查询表,查询记录
hbase(main):004:0> put 'student', '001', 'info:name', 'zhanghua'
hbase(main):005:0> put 'student', '001', 'info:sex', 'man'
hbase(main):006:0> put 'student', '001', 'score:Math', 78
hbase(main):007:0> put 'student', '002', 'info:name', 'wangmeng'
hbase(main):008:0> put 'student', '002', 'info:sex', 'woman'
hbase(main):009:0> put 'student', '002','score:Math', 92
hbase(main):010:0> scan 'student'
hbase(main):011:0> get 'student', '001'
4、统计行数,清空表数据,删除表
hbase(main):012:0> count 'student'
hbase(main):013:0> truncate 'student'
hbase(main):014:0> disable 'student'
hbase(main):015:0> drop 'student'
5、批量导入数据
创建文档stu.txt,写入put插入数据脚本,在Linux命令行执行。
[root@centos ~]>hbase shell stu.txt
hbase(main):001:0> scan 'student'
二、建立hive与hbase映射
1、连接hive, 查看数据库、数据表
[root@centos ~]>hive
hive> show databases;
hive> use default;
2、创建hive映射表
hive> create external table hbase_stu (key string,
name string,
sex string,
Math int)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping"=":key,info:name,info:sex,score:Math")
tblproperties ("hbase.table.name"="student");
3、查看表结构,详细表信息
hive> desc hbase_stu;
hive> describe extended hbase_stu;
三、执行SQL查询、统计
hive> select count(*) from hbase_stu;
hive> select * from hbase_stu where key = ‘001’;