2016-03-30 5 views
0
konvertieren

Jungs Ich brauche Hilfe beim Schreiben eines Skripts mit einem Hadoop-basierten db.Ich muss über eine unixtime oder verwandte Formel wissen, die den Zeitstempel in lesbare 15-Minuten-Intervalle konvertieren würde.Zurzeit verwende ich unter Formel, um den Zeitstempel in vollständig lesbare Zeit zu konvertieren.Epochen Zeitstempel in 15-Minuten-Intervalle für Impala

from_unixtime(starttime+3*3600,"yyyy/MM/dd HH:mm") 

und es gibt mir eine Ausgabe wie:

date_t 
2016/03/10 01:24 
2016/03/10 12:22 
2016/03/10 04:48 
2016/03/10 04:25 
2016/03/10 14:19 

Aber ich brauche es so aus:

date_t 
2016/03/10 01:00 
2016/03/10 01:15 
2016/03/10 01:30 
2016/03/10 01:45 

habe ich versucht, es an Stelle von 3600 um 900 zu multiplizieren, aber keine Änderung Ergebnis. Scheint wie eine sehr kleine Sache, die ich vermisse, aber würde mich freuen, wenn ich Hilfe bekomme.

+0

, wenn die Einheiten 'Sekunden' sind, dann sind Sie 3 Stunden Zugabe (3 * 3600) anstelle von 15 Minuten (15 * 60) –

Antwort

0

würde ich versuchen,

from_unixtime(3*3600+900*ceil(starttime/900),"yyyy/MM/dd HH:mm") 

I

  • ceil truncate soll int (es ist eine MySQL-Funktion)
  • startime ist eine Anzahl von zweiten
  • Sie eine 3 Stunden hinzufügen Offset.
0

fand ich eine Abhilfe wie folgt aus:

from_unixtime((starttime+3*3600)-(starttime+3*3600)%900,"yyyy/MM/dd HH:mm")