许多用户习惯使用“从表格中选择*”。在oracle / mysql中
但是我不应该允许他们像在hive中那样查询
有没有办法阻止hive中的full_table扫描?
喜欢触发器还是其他东西?
非常感谢!
答案 0 :(得分:1)
要防止全表扫描,请使用这些设置。
set hive.mapred.mode=strict; --prevent full scan
SET hive.limit.query.max.table.partition=10; --limit partitions to 10
如果未指定分区谓词,Hive将生成异常:
FAILED: SemanticException [Error 10041]: No partition predicate found
超出分区数的异常示例:
SemanticException Number of partitions scanned (=37) on table