orc是一种自描述性格式,有关列的信息存储在文件中。当一个新表被创建并存储为orc时,它的元数据被添加到hivematastore中。这些信息不是重复的吗?Hive是怎么处理的?
camsedfj1#
可能的解释是:列元数据(列名称、类型名称、注解等)仅反映在配置单元元存储(列v2)中的单个表中。配置单元元存储由几十个具有各种依赖关系的表组成。因此,将列元数据从metastore中删除可能会节省一点重复性,但与整个metastore db相比,它可以忽略不计(在我们的集群中,它的比率是176kb/530mb)。我想节省约0.01%的冗余并不值得重新设计元存储模式。orc是一种与Hive以外的许多其他技术兼容的格式。可能是hive只使用了列压缩,而忽略了自描述数据格式的好处。
1条答案
按热度按时间camsedfj1#
可能的解释是:
列元数据(列名称、类型名称、注解等)仅反映在配置单元元存储(列v2)中的单个表中。
配置单元元存储由几十个具有各种依赖关系的表组成。
因此,将列元数据从metastore中删除可能会节省一点重复性,但与整个metastore db相比,它可以忽略不计(在我们的集群中,它的比率是176kb/530mb)。
我想节省约0.01%的冗余并不值得重新设计元存储模式。
orc是一种与Hive以外的许多其他技术兼容的格式。
可能是hive只使用了列压缩,而忽略了自描述数据格式的好处。