- Hadoop数据仓库实战
- 肖睿 兰伟 廖春琼主编
- 413字
- 2025-04-02 16:30:20
1.2.3 Hive存储模型
按照数据单元的划分结果,Hive数据在HDFS的典型存储结构中表现为以下形式。
➢ /数据仓库地址/数据库名称/表名称/数据文件(或分桶数据文件)。
➢ /数据仓库地址/数据库名称/表名称/分区键/数据文件(或分桶数据文件)。
假设数据仓库地址hive.metastore.warehouse.dir为“/hive/warehouse”,则可知如下内容。
(1)“/hive/warehouse/”表示Hive自带的“default”数据库位置。
(2)“/hive/warehouse/demo.db”表示数据仓库中存在“demo”数据库。
(3)“/hive/warehouse/demo.db/users”表示demo数据库中存在users表。
(4)“/hive/warehouse/demo.db/users/000000_……”为demo中users表里的数据文件。
(5)“/hive/warehouse/demo.db/orders/year=2018/part-0000……”表示demo中orders表里的数据按照年份进行分区,这里显示的是分区year=2018下的数据文件。
Hive数据存储模型的具体描述如图1.5所示。

图1.5 Hive数据存储模型
在Hive中,数据按分布的均匀情况可以分为正常的数据和倾斜的数据。数据倾斜就是由于数据分布不均匀、数据大量集中到一点上造成的数据热点问题。分区是按照指定的key值来划分的,当大量相同的key值被分配到一个分区里时就会产生数据倾斜,在后面的章节中还会讨论针对数据倾斜的解决方案。