如何在 Hive 中无限制地防止 sql?

How to prevent sql without limit in Hive?

很多用户习惯在oracle/mysql

中使用'select * from tables'

但我不应该让他们在配置单元中那样查询

有什么方法可以防止 full_table 在 hive 中扫描?

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

非常感谢!

要防止完全 table 扫描,请使用这些设置。

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