如何使用python在HIVE中创建UDF以进行时间戳转换

时间:2018-01-02 19:40:27

标签: python hive timestamp user-defined-functions user-defined-data-types

我有一张表格,其时间戳如下

DataFeedDTTM
------------
2016-10-20 15:57:42.1

但是当我查询它时,我需要以下格式。

select DataFeedDTTM from atable;

(数据可能很大,因此也需要一个最佳解决方案,但是我可以接受任何输入)

DataFeedDTTM
------------
20170209 12:14:54.100000

我有一个替代方案来做一个Case Of - Type cast。但它似乎并不简单。

简单的原因是,我必须通过Python代码动态地进行此查询,并从Hive读取数据并将其写入CSV。

1 个答案:

答案 0 :(得分:0)

'datetime'模块可能对您的任务有所帮助。

from datetime import datetime
d_in = "2016-10-20 15:57:42.1"
d = datetime.strptime("2016-10-20 15:57:42.1", "%Y-%m-%d %H:%M:%S.%f")
d_out = d.strftime("%Y%m%d %H:%M:%S.%f")
print(d_out)

这会产生:

'20161020 15:57:42.100000'