2

from_unixtime()関数が動作するためにfrom_unixtimeを送信する必要があるデータ型または形式を教えてもらえますか?spark unix_timestampデータ型の不一致

私は以下を試してみるとうまくいくが、current_timestampでは応答しない。

from_unixtime(current_timestamp()) 

応答は以下の通りです:

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

私は入力

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

にしようとすると、上記は単に型の不一致で失敗します。

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

私は何行方不明?私はさまざまなことを試してきたし、sparkの日付/時刻の使用に関するドキュメントを読んでみました。試したすべての例では、型の不一致で失敗します。

+0

にStackOverflowに歓迎ダニエル、!私はあなたの質問が好きだったので、私はupvoted。興味深い、有用であると思われる質問は、ここでupvoted、あなたはより多くの評判を得るときそうすることができます。同様に、回答もアップアップすることができますが、もっと重要なのは、オリジナルのポスター(OP)、すなわちあなたの質問の下に掲載された回答を*受け入れて世界の残りの部分を示すことができるということです。確かに良い答えです! – gsamaras

答えて

3

使用lit()このように、リテラル値の列を作成するには:zero323が述べたように

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

または、:

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

'from_unixtime(current_timestamp()。cast(" long "))' :)を追加することもできます – zero323