superi

主にキャリアと金融を嗜むメディア

hiveでyyyyMMddをyyyy-MM-ddに変換する


スポンサーリンク

hiveでは年月日がyyyyMMddの形式、たとえば20160603となっているとき、castしてもdate型として扱えないので比較や条件句がそのままでは使えません。

そこで指定した形式からunixtimeに変換したのち、yyyy-MM-dd形式にもどします。こんな感じ。

select from_unixtime(unix_timestamp('20160603' ,'yyyyMMdd'),

'yyyy-MM-dd')

from table;

>> 2016-06-03

 

参考

Convert date yyyyMMdd to yyyy-MM-dd in HIVE – Big Data