作为一个例子,我有一个所有重大体育赛事发生的数据事件名称、日期、月份、年份、城市这些数据在hdfs中以年、日、月为单位进行物理结构化。现在我想基于其他一些列值创建虚拟分区,例如city。数据将以物理方式存储在hdfs中,仅以年、日、月为结构,但我的元数据会跟踪虚拟分区。hive metastore能帮我吗?
4c8rllxm1#
我不这么认为。实际上,hive中的分区意味着为不同的分区创建不同的dir。而metastore只包含表的元数据。它不会控制实际数据。从技术上讲,当我们根据配置单元表中的分区列进行查询时,查询将仅在该分区目录上执行。所以虚拟分区不需要改变hdfs结构,也就是说真实数据将在一个dir中,所以查询必须在整个数据上执行。所以技术上的优化根本没有发生。
1条答案
按热度按时间4c8rllxm1#
我不这么认为。实际上,hive中的分区意味着为不同的分区创建不同的dir。而metastore只包含表的元数据。它不会控制实际数据。从技术上讲,当我们根据配置单元表中的分区列进行查询时,查询将仅在该分区目录上执行。所以虚拟分区不需要改变hdfs结构,也就是说真实数据将在一个dir中,所以查询必须在整个数据上执行。所以技术上的优化根本没有发生。