2

Könnte mir jemand helfen, in welchem ​​Dateityp oder Format ich von_unitime für die Funke from_unitime() -Funktion senden muss, um zu funktionieren?Funke unix_timestamp Datentyp nicht übereinstimmend

Wenn ich Folgendes versuche, funktioniert es, reagiert aber nicht mit current_timestamp.

from_unixtime(current_timestamp()) 

Die Antwort ist unten:

fromunixtime(currenttimestamp(),yyyy-MM-dd HH:mm:ss) 

Wenn ich zur Eingabe versuchen

from_unixtime(1392394861,"yyyy-MM-dd HH:mm:ss.SSSS") 

Die oben einfach mit einem Typenkonflikt fehlschlägt:

error: type mismatch; found : Int(1392394861) required: org.apache.spark.sql.Column from_unixtime(1392394861,"yyyy-MM-dd HH:mm:ss.SSSS")

Was bin ich fehlt? Ich habe eine Reihe verschiedener Dinge ausprobiert und versucht, die Dokumentation zu lesen, wenn ich Datum/Zeit in Spark verwende, und jedes Beispiel, das ich versucht habe, scheitert mit Typenkonflikten.

+0

Daniel, willkommen zu Stackoverflow! Ich mochte deine Frage, deshalb habe ich abgestimmt. Fragen, die interessant und nützlich sind, werden hier aktualisiert, Sie können dies tun, wenn Sie mehr Ansehen erhalten. In ähnlicher Weise können die Antworten auch erhöht werden, aber noch wichtiger ist, dass das Originalposter (OP), dh Sie, eine Antwort unter seiner Frage annehmen kann, um dem Rest der Welt zu zeigen, dass dies mir geholfen hat eine gute Antwort in der Tat! – gsamaras

Antwort

3

Verwenden lit() eine Spalte von wörtlichen Wert zu schaffen, wie folgt aus:

from_unixtime(lit(1392394861), "yyyy-MM-dd HH:mm:ss.SSSS") 

oder, wie zero323 erwähnt:

from_unixtime(current_timestamp().cast("long")) 
+0

Sie können auch 'from_unitime (current_timestamp() .cast (" long "))' :) hinzufügen – zero323

Verwandte Themen