Skip to main content
ChineduLB
Silver ⭐️⭐️⭐️
April 7, 2019
Solved

Best Data Type for Hive Date Partition

we need to partition our Hive Table based on date. Date/Month/Year

 

is it better to use int or string for the partition types.

ex:

CREATE EXTERNAL TABLE partition (id string, event timestamp and so on)
PARTITIONED BY (year INT, month INT, day INT)

Stored as Parquet

vs

 

CREATE EXTERNAL TABLE partition (id string, event timestamp and so on)
PARTITIONED BY (year string, month string, day string)

Stored as Parquet

 

Noticed that we couldn't do queries like:

... where day > 10 with the string option

EricL
EricLAnswer
Platinum ⭐️⭐️
April 13, 2019
Hi,

I would suggest to use INT rather than STRING.

Firstly, searching based INT type is faster, and secondly, like you said, you can do numeric comparison, which will be different from the STRING type comparison.

1 reply

EricL
Platinum ⭐️⭐️
EricLAnswer
Platinum ⭐️⭐️
April 13, 2019
Hi,

I would suggest to use INT rather than STRING.

Firstly, searching based INT type is faster, and secondly, like you said, you can do numeric comparison, which will be different from the STRING type comparison.
Translate