bigdata—hive元可以基于列值虚拟地存储分区数据,而不必实际更改目录结构吗?

3yhwsihp  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(510)

作为一个例子,我有一个所有重大体育赛事发生的数据
事件名称、日期、月份、年份、城市
这些数据在hdfs中以年、日、月为单位进行物理结构化。
现在我想基于其他一些列值创建虚拟分区,例如city。数据将以物理方式存储在hdfs中,仅以年、日、月为结构,但我的元数据会跟踪虚拟分区。
hive metastore能帮我吗?

4c8rllxm

4c8rllxm1#

我不这么认为。实际上,hive中的分区意味着为不同的分区创建不同的dir。而metastore只包含表的元数据。它不会控制实际数据。从技术上讲,当我们根据配置单元表中的分区列进行查询时,查询将仅在该分区目录上执行。所以虚拟分区不需要改变hdfs结构,也就是说真实数据将在一个dir中,所以查询必须在整个数据上执行。所以技术上的优化根本没有发生。

相关问题