hive用hbase语句编写案例 假设你是用户部门员工,现需一张表用于存放用户粉丝数据表:userfollower,存:follower 粉丝有谁, followed 关注谁 1.建表 usertollower 2. 用户 Mary 有一个粉丝 Alice 3.用户 Jack 有两个粉丝 Bob 和 Ben 4. Jack 还关注了 Mary 5.查看Jack 被那些人关注,关注了谁 6. Bob 取关了 Jack 7. 扫描全表数据
时间: 2024-02-26 09:58:07 浏览: 68
可以使用 Hive 中的 HBase 存储插件,将 HBase 作为 Hive 的外部表,从而实现 Hive 对 HBase 的读写操作。下面是在 Hive 中使用 HBase 存储插件实现上述需求的示例:
1. 建表 usertollower
首先在 HBase 中创建表 usertfollower,包含列族 follower 和 followed。然后在 Hive 中使用以下语句创建外部表:
```
CREATE EXTERNAL TABLE usertollower (
rowkey STRING,
follower STRING,
followed STRING
) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,follower: ,followed:")
TBLPROPERTIES ("hbase.table.name" = "usertollower");
```
2. 用户 Mary 有一个粉丝 Alice
使用以下语句向表中插入数据:
```
INSERT INTO TABLE usertollower VALUES ('Mary', 'Alice', null);
```
3. 用户 Jack 有两个粉丝 Bob 和 Ben
使用以下语句向表中插入数据:
```
INSERT INTO TABLE usertollower VALUES ('Jack', 'Bob', null);
INSERT INTO TABLE usertollower VALUES ('Jack', 'Ben', null);
```
4. Jack 还关注了 Mary
使用以下语句向表中插入数据:
```
INSERT INTO TABLE usertollower VALUES ('Jack', null, 'Mary');
```
5. 查看 Jack 被那些人关注,关注了谁
使用以下语句查询数据:
```
SELECT follower, followed FROM usertollower WHERE rowkey = 'Jack';
```
6. Bob 取关了 Jack
使用以下语句删除数据:
```
DELETE FROM usertollower WHERE rowkey = 'Jack' AND follower = 'Bob';
```
7. 扫描全表数据
使用以下语句扫描全表数据:
```
SELECT * FROM usertollower;
```
注意:在使用 HBase 存储插件时,需要在 Hive 的配置文件 hive-site.xml 中添加相关配置。具体可以参考 Hive 和 HBase 的官方文档。
阅读全文