Hive是否支持基于表达式的分区?

时间:2019-04-08 18:34:38

标签: hadoop hive data-partitioning

我有一个带有列的表,我可以使用该列基于表达式创建分区

我了解到IBM的Big SQL技术具有此功能。

我也知道我们可以按列在蜂巢中进行分区,但是表达式呢?

在这种情况下,我正在执行演员表..它可以是任何表达式

CREATE TABLE INVENTORY_A (
  trans_id int, 
  product varchar(50), 
  trans_ts timestamp
) 
PARTITIONED BY ( 
   cast(trans_ts as date) AS date_part
)

我希望记录按日期值进行分区。因此,我希望当用户编写类似

的查询时
select * from INVENTORY_A where trans_ts BETWEEN timestamp '2016-06-23 14:00:00.000' AND timestamp '2016-06-23 14:59:59.000'   

查询将足够聪明,可以按日期细分时间戳,仅对日期进行过滤

1 个答案:

答案 0 :(得分:0)

您可以使用Dynamic partitioning并在选择查询中强制转换变量。