HBase冷热分离数据样例程序典型场景
CloudTable HBase支持冷热数据分离特性。通过该特性,您可以将冷热数据分别存储在不同类型的存储介质中,以降低存储成本。
在海量大数据场景下,表中的部分业务数据随着时间的推移仅作为归档数据或者访问频率很低,同时这部分历史数据体量非常大,比如订单数据或者监控数据,如果降低这部分数据的存储成本将会极大的节省企业的成本。
通过典型场景,我们可以快速学习和掌握HBase冷热分离的开发过程,并且对关键的接口函数有所了解。
场景说明
假定用户开发一个应用程序,用于实时记录和查询城市的气象信息,记录数据如下表:
城市 | 区域 | 时间 | 温度 | 湿度 |
|---|---|---|---|---|
Shenzhen | Longgang | 2017/7/1 00:00:00 | 28 | 54 |
Shenzhen | Longgang | 2017/7/1 01:00:00 | 27 | 53 |
Shenzhen | Longgang | 2017/7/1 02:00:00 | 27 | 52 |
Shenzhen | Longgang | 2017/7/1 03:00:00 | 27 | 51 |
Shenzhen | Longgang | 2017/7/1 04:00:00 | 27 | 50 |
Shenzhen | Longgang | 2017/7/1 05:00:00 | 27 | 49 |
Shenzhen | Longgang | 2017/7/1 06:00:00 | 27 | 48 |
Shenzhen | Longgang | 2017/7/1 07:00:00 | 27 | 46 |
Shenzhen | Longgang | 2017/7/1 08:00:00 | 29 | 46 |
Shenzhen | Longgang | 2017/7/1 09:00:00 | 30 | 48 |
Shenzhen | Longgang | 2017/7/1 10:00:00 | 32 | 48 |
Shenzhen | Longgang | 2017/7/1 11:00:00 | 32 | 49 |
Shenzhen | Longgang | 2017/7/1 12:00:00 | 33 | 49 |
Shenzhen | Longgang | 2017/7/1 13:00:00 | 33 | 50 |
Shenzhen | Longgang | 2017/7/1 14:00:00 | 32 | 50 |
Shenzhen | Longgang | 2017/7/1 15:00:00 | 32 | 50 |
Shenzhen | Longgang | 2017/7/1 16:00:00 | 31 | 51 |
Shenzhen | Longgang | 2017/7/1 17:00:00 | 30 | 51 |
Shenzhen | Longgang | 2017/7/1 18:00:00 | 30 | 51 |
Shenzhen | Longgang | 2017/7/1 19:00:00 | 29 | 51 |
Shenzhen | Longgang | 2017/7/1 20:00:00 | 29 | 52 |
Shenzhen | Longgang | 2017/7/1 21:00:00 | 29 | 53 |
Shenzhen | Longgang | 2017/7/1 22:00:00 | 28 | 54 |
Shenzhen | Longgang | 2017/7/1 23:00:00 | 28 | 54 |
Shenzhen | Longgang | 2017/7/2 00:00:00 | 28 | 54 |
Shenzhen | Longgang | 2017/7/2 01:00:00 | 27 | 53 |
Shenzhen | Longgang | 2017/7/2 02:00:00 | 27 | 52 |
Shenzhen | Longgang | 2017/7/2 03:00:00 | 27 | 51 |
Shenzhen | Longgang | 2017/7/2 04:00:00 | 27 | 50 |
Shenzhen | Longgang | 2017/7/2 05:00:00 | 27 | 49 |
Shenzhen | Longgang | 2017/7/2 06:00:00 | 27 | 48 |
Shenzhen | Longgang | 2017/7/2 07:00:00 | 27 | 46 |
Shenzhen | Longgang | 2017/7/2 08:00:00 | 29 | 46 |
Shenzhen | Longgang | 2017/7/2 09:00:00 | 30 | 48 |
Shenzhen | Longgang | 2017/7/2 10:00:00 | 32 | 48 |
Shenzhen | Longgang | 2017/7/2 11:00:00 | 32 | 49 |
Shenzhen | Longgang | 2017/7/2 12:00:00 | 33 | 49 |
Shenzhen | Longgang | 2017/7/2 13:00:00 | 33 | 50 |
Shenzhen | Longgang | 2017/7/2 14:00:00 | 32 | 50 |
Shenzhen | Longgang | 2017/7/2 15:00:00 | 32 | 50 |
Shenzhen | Longgang | 2017/7/2 16:00:00 | 31 | 51 |
Shenzhen | Longgang | 2017/7/2 17:00:00 | 30 | 51 |
Shenzhen | Longgang | 2017/7/2 18:00:00 | 30 | 51 |
Shenzhen | Longgang | 2017/7/2 19:00:00 | 29 | 51 |
Shenzhen | Longgang | 2017/7/2 20:00:00 | 29 | 52 |
Shenzhen | Longgang | 2017/7/2 21:00:00 | 29 | 53 |
Shenzhen | Longgang | 2017/7/2 22:00:00 | 28 | 54 |
Shenzhen | Longgang | 2017/7/2 23:00:00 | 28 | 54 |
数据规划
合理地设计表结构、行键、列名能充分利用HBase的优势。本样例工程以城市+区域+时间作为RowKey,列都存储在info列族中。
当天整点写入数据,同时一天前数据查询频率较低,节省存储空间设置冷热分离,将一天前数据自动归档到冷存储。

