Hive 配置单元:在查询中强制执行where子句

Hive 配置单元:在查询中强制执行where子句,hive,hiveql,Hive,Hiveql,我们有一个按日期划分的配置单元表,我们希望最终用户总是在查询中使用where子句,如果他们不使用它,它应该抛出异常 蜂巢中是否有任何可以强制执行的设置?1 hive.metastore.limit.partition.request 默认值:-1 添加到:带有Hive-13884的Hive 2.2.0 这限制了可以从给定表的元存储中请求的分区数。 如果查询试图获取每个表中超过配置限制的分区,则不会执行该查询。 值“-1”表示无限制。 此参数优先于hive.limit.query.max.ta

我们有一个按日期划分的配置单元表,我们希望最终用户总是在查询中使用where子句,如果他们不使用它,它应该抛出异常

蜂巢中是否有任何可以强制执行的设置?

1 hive.metastore.limit.partition.request

  • 默认值:-1
  • 添加到:带有Hive-13884的Hive 2.2.0
这限制了可以从给定表的元存储中请求的分区数。 如果查询试图获取每个表中超过配置限制的分区,则不会执行该查询。 值“-1”表示无限制。 此参数优先于hive.limit.query.max.table.partition(已弃用)

2. 让您的用户通过视图访问数据,例如-

create view mytable_last_year
as
select  *
from    mytable
where   dt >= add_months(current_date,-12)
;
1. hive.metastore.limit.partition.request

  • 默认值:-1
  • 添加到:带有Hive-13884的Hive 2.2.0
这限制了可以从给定表的元存储中请求的分区数。 如果查询试图获取每个表中超过配置限制的分区,则不会执行该查询。 值“-1”表示无限制。 此参数优先于hive.limit.query.max.table.partition(已弃用)

2. 让您的用户通过视图访问数据,例如-

create view mytable_last_year
as
select  *
from    mytable
where   dt >= add_months(current_date,-12)
;

您要寻找的确切限制是什么?显然,
其中1=1
不会起作用job@DuduMarkovitz我们有一个分区列“dt”,所以我们希望每个查询都包含这个日期列。示例:dt=“2017-01-01”或dt>=“2017-01-01”和dt<“2017-02-01”您正在寻找的确切限制是什么?显然
其中1=1
不起作用job@DuduMarkovitz我们有一个分区列“dt”,所以我们希望每个查询都包含这个日期列。例如:dt=“2017-01-01”或dt>=“2017-01-01”和dt<“2017-02-01”谢谢,有没有设置桌面的功能?谢谢,有没有设置桌面的功能?