我用的是Hive0.12。我已经为我的表创建了几个索引。现在,我怎么能告诉hive用这些?目前,我正在写:
set hive.optimize.autoindex=true; set hive.optimize.index.filter = true;
可以吗,或者我需要补充更多的东西?
nhaq1z211#
与大多数dbms一样,您需要通过指定名称、列和类型来手动创建索引。以下是hive官方文档中非常有用的示例:https://cwiki.apache.org/confluence/display/hive/languagemanual+indexing
mwngjboj2#
根据正在运行的查询类型,配置单元查询重写引擎会自动使用索引。具体来说,您可能会看到在:-where子句-group by子句-aggregation子句中使用索引字段的查询的性能有所提高如果您使用的是“智能”serde,比如parquet或orcfile,您能告诉我在手动索引和使用serde文件元数据之间是否存在性能差距吗?
2条答案
按热度按时间nhaq1z211#
与大多数dbms一样,您需要通过指定名称、列和类型来手动创建索引。
以下是hive官方文档中非常有用的示例:
https://cwiki.apache.org/confluence/display/hive/languagemanual+indexing
mwngjboj2#
根据正在运行的查询类型,配置单元查询重写引擎会自动使用索引。
具体来说,您可能会看到在:-where子句-group by子句-aggregation子句中使用索引字段的查询的性能有所提高
如果您使用的是“智能”serde,比如parquet或orcfile,您能告诉我在手动索引和使用serde文件元数据之间是否存在性能差距吗?