0

我必须访问一个配置单元数据库。在该数据库中,时间作为纪元时间存储在一个 bigint 列中。我以 yyyy-mm-dd 格式检索数据。有人可以帮我解决这个问题吗

表说明

temp_table 名称 字符串 ts bigint 年龄 int

ts 列以纪元时间戳格式存储数据

当我从 temp_table 中选择 *

检索的值是

鲍勃 1374752536 12

我需要输出为

鲍勃 2013-07-25 12:14:17 12

4

1 回答 1

0

您可以使用 Hive 提供的from_unixtime()日期函数。它将时间戳转换为表示该时间戳的字符串。

用法 :

hive> select from_unixtime(1374752536) from demo;

例子 :

输入 :

bob 1374752536 12
tariq 1374778369 25

询问 :

hive> 创建外部表 demo2(name string, ts bigint, age int) 行格式分隔字段,以 '' location '/inputs/date/' 结尾;

hive> 从 demo2 中选择 from_unixtime(ts);

输出 :

OK

2013-07-25 17:12:16 
2013-07-26 00:22:49 
Time taken: 6.3 seconds

高温高压

于 2013-07-25T18:47:26.230 回答