背景
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

在Hive 1.2.1版本中,使用between-and查询parquet格式的表时,STRING类型日期字段的筛选不包含头尾。实验显示,当查询分区时功能正常,而textfile格式的表则不受影响。可能是由于Hive对parquet格式的底层处理存在BUG。建议使用大于等于和小于等于操作来规避此问题。
最低0.47元/天 解锁文章
1301

被折叠的 条评论
为什么被折叠?



