Wie konvertiert man die Zeitmarke eines Unix-Epochens zu einem Datum in der Struktur

8

Ich habe eine Protokolldatei, die eine Zeitstempelspalte enthält. Der Zeitstempel ist im Unix-Epochen-Zeitformat.

Ich möchte eine Partition basierend auf einem Zeitstempel mit den Partitionen Jahr, Monat und Tag erstellen.

Bisher habe ich das gemacht, aber es wirft einen Fehler auf.

%Vor%

Hier ist mein Code.

%Vor%     
priyank 26.08.2011, 22:40
quelle

4 Antworten

24

Oof, das sieht hässlich aus. Verwenden Sie diese Funktion in Hive:

%Vor%

Oder wenn der Zeitstempel in ms anstelle von Sekunden steht:

%Vor%

Dadurch wird ein Unix-Zeitstempel in ein JJJJ-MM-TT HH: MM: SS-Format konvertiert, und Sie können die folgenden Funktionen verwenden, um das Jahr, den Monat und den Tag abzurufen:

%Vor%     
Aswin 23.09.2011, 16:01
quelle
4

Bei neueren Releases von Hive und SparkSQL sind die Datentypoptionen für Datum und Typ verfügbar. Folgendes sollte in Hive sowie Spark SQL

funktionieren %Vor%     
user2847619 14.06.2016 22:07
quelle
2

Wenn Sie das Datum im benutzerdefinierten Format konvertieren müssen, verwenden Sie Folgendes:

%Vor%


welches das Datum als Jahr zurückgibt, z.B. 201708

    
Abdul Mannan 11.08.2017 10:54
quelle
0

Diese Abfrage zu der Liste hinzufügen, in der der Zeitstempel für eine Zeichenfolgepartition in die Datumszeichenfolge yyyy-MM-dd konvertiert werden muss:

%Vor%     
Yash Sharma 27.12.2017 00:15
quelle