如何防止Hive中的sql无限制?

时间:2018-02-08 10:36:45

标签: hadoop hive

许多用户习惯使用“从表格中选择*”。在oracle / mysql中

但是我不应该允许他们像在hive中那样查询

有没有办法阻止hive中的full_table扫描?

喜欢触发器还是其他东西?

非常感谢!

1 个答案:

答案 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