web-dev-qa-db-fra.com

Ruche - mois et année de la colonne timestamp

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.

4
divyanair

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.

enter image description here

11
mrsrinivas

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;
1
Pathik Vejani

Veuillez utiliser la requête suivante

SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
1
GauravS

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;
0
Ramesh babu M