许多用户习惯于在oracle/mysql中使用“select*from tables”但我不应该让他们在Hive里这样询问有什么方法可以阻止配置单元中的全表扫描吗?像扳机之类的?谢谢!
uklbhaso1#
要防止全表扫描,请使用这些设置。
set hive.mapred.mode=strict; --prevent full scan SET hive.limit.query.max.table.partition=10; --limit partitions to 10
如果未指定分区 predicate ,配置单元将生成异常:
FAILED: SemanticException [Error 10041]: No partition predicate found
以及超出分区数时的异常示例:
SemanticException Number of partitions scanned (=37) on table
1条答案
按热度按时间uklbhaso1#
要防止全表扫描,请使用这些设置。
如果未指定分区 predicate ,配置单元将生成异常:
以及超出分区数时的异常示例: