hive的between-and问题

在Hive 1.2.1版本中,使用between-and查询parquet格式的表时,STRING类型日期字段的筛选不包含头尾。实验显示,当查询分区时功能正常,而textfile格式的表则不受影响。可能是由于Hive对parquet格式的底层处理存在BUG。建议使用大于等于和小于等于操作来规避此问题。
摘要由CSDN通过智能技术生成

背景

hive版本1.2.1

存储格式parquet

筛选字段为STRING类型的日期,如’20190918’时出现不包含头尾的现象。

实验

先分别创建parquet格式T1表与textfile格式的T2表,

CREATE TABLE IF NOT EXISTS TEMP.t1
(
a   STRING 
) 
Partitioned by (BDW_Data_Dt STRING)
Stored As Parquet;

CREATE TABLE IF NOT EXISTS TEMP.t2
(
a   STRING 
)
Partitioned by (BDW_Data_Dt STRING)
STORED AS TEXTFILE 
;

分别往三个分区插入与分区相同日期的数据

insert overwrite table TEMP.t1 partition(BDW_Data_Dt='20190101') values('20190101');
insert overwrite table TEMP.t1 partition(BDW_Data_Dt='20191201') values('20191201');
insert overwrite table TEMP.t1 partition(BDW_Data_Dt='20191231') values('20191231');

insert overwrite table TEMP.t2 partition(BDW_Data_Dt='20190101') values('20190101');
insert overwrite table TEMP.t2 partition(BDW_D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值