Hive概述 & 安装方式详解
Hive表操作
Hive表分类
Hive Sql 操作
Hive 自定义函数
Hive On HBase
七、Hive On Hbase
@Test
public void testPut04() throws Exception
{
TableName tname
= TableName
.valueOf("baizhi:t_user");
BufferedMutator mb
= conn
.getBufferedMutator(tname
);
String
[] company
= {"baidu", "ali", "sina"};
List
<Put> list
= new ArrayList<>();
for (int i
= 1; i
< 1000; i
++) {
String rowkeyP
= company
[new Random().nextInt(3)];
String empid
= "";
if (i
< 10) {
empid
= "00" + i
;
} else if (i
< 100) {
empid
= "0" + i
;
} else {
empid
= "" + i
;
}
String rowkey
= rowkeyP
+ ":" + empid
;
Put put
= new Put(rowkey
.getBytes());
put
.addColumn("cf1".getBytes(), "name".getBytes(), "lisi1".getBytes());
put
.addColumn("cf1".getBytes(), "age".getBytes(), Bytes
.toBytes(i
+ ""));
put
.addColumn("cf1".getBytes(), "salary".getBytes(), Bytes
.toBytes(100.0 * i
+ ""));
put
.addColumn("cf1".getBytes(), "company".getBytes(), rowkeyP
.getBytes());
list
.add(put
);
}
mb
.mutate(list
);
mb
.close();
}
CREATE EXTERNAL table t_user_hbase
(
id string,
name string,
age int,
salary double,
company string
)
STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
('hbase.columns.mapping' = ':key,cf1:name,cf1:age,cf1:salary,cf1:company')
TBLPROPERTIES
('hbase.table.name' = 'rechen:t_user33');
0: jdbc:hive2://CentOS:10000
> select avg
(salary
),max
(salary
),min
(salary
),sum
(salary
) ,company from t_user_hbase group by company
;
select avg
(salary
) as avgSalary ,max
(salary
) as maxSalary,min
(salary
) as minSalary,sum
(salary
) as totalSalary ,company as companyName from t_user_hbase group by company
;
有关Hive查询相关函数,可以参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF或者是hive编程指南.
需要资料的私信我!
献给每一个正在努力的我们,就算在忙,也要注意休息和饮食哦!我就是我,一个在互联网跌跌撞撞,摸爬滚打的热忱,给个三连吧~ 还有就是不要只看,多动手才行!努力呀!