Bonjour, j'essaie d'extraire le mois et l'année d'une colonne d'horodatage dans Hive à l'aide de la requête ci-dessous.
select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from abc.test;
La sortie ressemble à 20/05/2016 01:08:48
la sortie souhaitée devrait être 201605
Appréciez toutes les suggestions.
Je préférerais utiliser Hive date_format () (à partir de Hive 1.2.0). Il supporte Java SimpleDateFormat patterns.
date_format()
accepte date/timestamp/string
. Donc, votre dernière requête sera
select date_format(upd_gmt_ts,'yyyyMM') from abc.test;
Modifier:
SimpleDateFormat
exemples acceptables de modèles.
Vous pouvez utiliser CONCAT et FROM_UNIXTIME comme ci-dessous:
SELECT CONCAT(YEAR(FROM_UNIXTIME(1468215093)), MONTH(FROM_UNIXTIME(1468215093))) AS YEAR_MONTH
Dans votre requête:
SELECT CONCAT(YEAR(FROM_UNIXTIME(upd_gmt_ts)), MONTH(FROM_UNIXTIME(upd_gmt_ts))) AS YEAR_MONTH
FROM abc.test;
Veuillez utiliser la requête suivante
SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
Pour voir la date au format yyyy-mm-dd hh:mm:ss
, vous pouvez l’utiliser comme suit:
select to_utc_timestamp(col_name, 'PST') * from table;