我试图找出一种方法来防止用户错误地从分区表中读取所有分区。在Apache配置单元中,可以使用严格模式来完成相同操作,以确保查询选择特定的分区或限制结果。
关于Hive中的严格模式。
正在执行Hive操作的模式。在严格 模式,不允许运行某些有风险的查询。例如全 禁止进行表扫描(请参阅HIVE-10454),并且ORDER BY要求 LIMIT子句。
任何想法如何在不为每个分区或视图都创建不同表的情况下实现此功能? 谢谢,
答案 0 :(得分:2)
任何想法如何在不为每个分区或视图创建不同表的情况下实现此目的
在创建表时,设置选项需要分区过滤器,它将强制用户在访问表时使用分区过滤器
这是webUI中的复选框
或者您可以按照link
中所述使用DML命令
#standardSQL
CREATE TABLE mydataset.newtable
(
x INT64 OPTIONS(description="An optional INTEGER field")
)
PARTITION BY DATE(_PARTITIONTIME)
OPTIONS(
require_partition_filter = true
)