Hive - 来自时间戳列的月份和年份

div*_*air 5 hadoop hive date sql-timestamp

您好我正在尝试使用以下查询提取配置单元中的时间戳列的月份和年份部分

select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from  abc.test;
Run Code Online (Sandbox Code Playgroud)

输出看起来像2016-05-20 01:08:48

所需的输出应为201605

感谢任何建议.

mrs*_*vas 15

我更喜欢使用Hive date_format()(从Hive 1.2.0开始).它支持Java SimpleDateFormat模式.

date_format()接受date/timestamp/string.所以你的最终查询将是

select date_format(upd_gmt_ts,'yyyyMM') from abc.test;
Run Code Online (Sandbox Code Playgroud)

编辑:

SimpleDateFormat 可接受的模式示例

在此输入图像描述


小智 5

请使用以下查询

SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
Run Code Online (Sandbox Code Playgroud)