UDF 在 Hive 中转换日期格式
Posted
技术标签:
【中文标题】UDF 在 Hive 中转换日期格式【英文标题】:UDF to Coverting Date Format in Hive 【发布时间】:2017-03-20 13:08:40 【问题描述】:大家好,我是 hadoop 新手,我需要创建 hive UDF 以将字符串数据类型日期转换为日期数据类型我有一个日期数据类型为字符串的表
abc 2/9/2017
xyz 2/8/2017
city 2/7/2017
state 2/1/2017
UDF 会将日期转换为 yyy-mm-dd 并插入到另一个日期列数据类型为 Date 的表中
output like
abc 2017/2/9
xyz 2017/2/8
city 2017/2/7
state 2017/2/1
我试过了
TO_DATE(from_unixtime(UNIX_TIMESTAMP(date,'yyyy-mm-dd')))
但是得到了NULL值
【问题讨论】:
【参考方案1】:dd/MM/yyyy
hive> select TO_DATE(from_unixtime(UNIX_TIMESTAMP('12/9/2017','dd/MM/yyyy')));
OK
_c0
2017-09-12
【讨论】:
嗨 Dudu 感谢您的帮助,但这不起作用。当我将该日期插入另一个表时,它具有 NULL 值我的查询:插入覆盖表 table select Cust_name,TO_DATE(from_unixtime(UNIX_TIMESTAMP(purchase_date ,'dd-MM-yyyy'))) 来自 old_table; 看看我的回答——我使用的是不同的格式以上是关于UDF 在 Hive 中转换日期格式的主要内容,如果未能解决你的问题,请参考以下文章
Hive:python UDF 在关闭操作符时给出“Hive 运行时错误”