| --! qt:dataset:src |
| set hive.mapred.mode=nonstrict; |
| drop table partition_date_1_temp; |
| |
| create temporary table partition_date_1_temp (key string, value string) partitioned by (dt date, region string); |
| |
| insert overwrite table partition_date_1_temp partition(dt='2000-01-01', region= '1') |
| select * from src tablesample (10 rows); |
| insert overwrite table partition_date_1_temp partition(dt='2000-01-01', region= '2') |
| select * from src tablesample (5 rows); |
| insert overwrite table partition_date_1_temp partition(dt='2013-12-10', region= '2020-20-20') |
| select * from src tablesample (5 rows); |
| insert overwrite table partition_date_1_temp partition(dt='2013-08-08', region= '1') |
| select * from src tablesample (20 rows); |
| insert overwrite table partition_date_1_temp partition(dt='2013-08-08', region= '10') |
| select * from src tablesample (11 rows); |
| |
| |
| select distinct dt from partition_date_1_temp order by dt; |
| select * from partition_date_1_temp where dt = '2000-01-01' and region = '2' order by key,value; |
| |
| -- 15 |
| select count(*) from partition_date_1_temp where dt = date '2000-01-01'; |
| -- 15. Also try with string value in predicate |
| select count(*) from partition_date_1_temp where dt = '2000-01-01'; |
| -- 5 |
| select count(*) from partition_date_1_temp where dt = date '2000-01-01' and region = '2'; |
| -- 11 |
| select count(*) from partition_date_1_temp where dt = date '2013-08-08' and region = '10'; |
| -- 30 |
| select count(*) from partition_date_1_temp where region = '1'; |
| -- 0 |
| select count(*) from partition_date_1_temp where dt = date '2000-01-01' and region = '3'; |
| -- 0 |
| select count(*) from partition_date_1_temp where dt = date '1999-01-01'; |
| |
| -- Try other comparison operations |
| |
| -- 20 |
| select count(*) from partition_date_1_temp where dt > date '2000-01-01' and region = '1'; |
| -- 10 |
| select count(*) from partition_date_1_temp where dt < date '2000-01-02' and region = '1'; |
| -- 20 |
| select count(*) from partition_date_1_temp where dt >= date '2000-01-02' and region = '1'; |
| -- 10 |
| select count(*) from partition_date_1_temp where dt <= date '2000-01-01' and region = '1'; |
| -- 20 |
| select count(*) from partition_date_1_temp where dt <> date '2000-01-01' and region = '1'; |
| -- 10 |
| select count(*) from partition_date_1_temp where dt between date '1999-12-30' and date '2000-01-03' and region = '1'; |
| |
| |
| -- Try a string key with date-like strings |
| |
| -- 5 |
| select count(*) from partition_date_1_temp where region = '2020-20-20'; |
| -- 5 |
| select count(*) from partition_date_1_temp where region > '2010-01-01'; |
| |
| drop table partition_date_1_temp; |