HBase 的实战案例(微博)码源
时间: 2024-11-24 17:40:40 浏览: 15
HBase 是一个开源的、基于列族(Column Family)的 NoSQL 数据存储系统,主要用于大规模数据分布式存储和实时读取。在微博这样的社交媒体平台上,HBase 可能会被用于用户数据、帖子内容、点赞、评论等高并发、频繁查询的数据管理。
一个简单的实战案例可以是:
假设微博应用需要记录每个用户的关注列表,每个关注对象包含用户ID(主键)、被关注者ID、关注时间等信息。HBase 表的设计可能会这样:
1. **创建表**:
```bash
CREATE 'followers', 'user_id', 'follower_id', 'timestamp'
```
这里的 `user_id` 和 `follower_id` 分别作为行键(Row Key),`timestamp` 为时间戳列。
2. **插入数据**:
```java
Put put = new Put(Bytes.toBytes(userId));
put.addColumn(Bytes.toBytes("user_info"), Bytes.toBytes("followee_id"), Bytes.toBytes(followerId));
put.addColumn(Bytes.toBytes("user_info"), Bytes.toBytes("timestamp"), Bytes.toBytes(System.currentTimeMillis()));
hbaseAdmin.put(table, put);
```
3. **查询关注列表**:
```java
Get get = new Get(Bytes.toBytes(userId));
Result result = hbaseAdmin.get('followers', get);
List<KeyValue> followees = result.getColumnValues(Bytes.toBytes("user_info"));
```
阅读全文