我们希望部署一个报告解决方案,其中数据存储在hive/hadoop数据层中,由报告层使用ssrs进行查询。现在考虑到性能优化,考虑在数据层建立索引是否有意义,因为我们将在hive上使用orc文件格式。根据下面的一些参考资料,看起来索引是orc文件格式固有的吗?是这样还是有点不同。语言手兽人我对hive/hadoop还不熟悉,所以希望这里有任何提示。谢谢!
8ehkhllq1#
orc文件中的索引有不同的用途。从文档中存储在文件中的轻量级索引跳过不向给定行传递 predicate 筛选的行组但是,have中的索引是为优化特定列上的搜索而设计的。配置单元索引的目标是提高表中某些列的查询查找速度。如果没有索引,使用“where tab1.col1=10”等 predicate 的查询将加载整个表或分区并处理所有行。但是,如果col1存在索引,那么只需要加载和处理文件的一部分。我不确定这种改进是否适合您的报告模型,可能对许多常见的聚合没有帮助希望对你有帮助
1条答案
按热度按时间8ehkhllq1#
orc文件中的索引有不同的用途。从文档中
存储在文件中的轻量级索引跳过不向给定行传递 predicate 筛选的行组
但是,have中的索引是为优化特定列上的搜索而设计的。
配置单元索引的目标是提高表中某些列的查询查找速度。如果没有索引,使用“where tab1.col1=10”等 predicate 的查询将加载整个表或分区并处理所有行。但是,如果col1存在索引,那么只需要加载和处理文件的一部分。
我不确定这种改进是否适合您的报告模型,可能对许多常见的聚合没有帮助
希望对你有帮助