我想用這種方式,然而,結果是零。
df2 = df.select(坳(“starting_timestamp”), df.starting_timestamp.cast(“時間戳”).alias(時間))
+ - - - - - - - - - - - - - - - - - - - + - - - + | starting_timestamp時間| | + - - - - - - - - - - - - - - - - - - - + - - - + | 2015/01/01 03:00:36零| | | 2015/01/01 03:01:06零| | | 2015/01/01 03:01:12零| | | 2015/01/01 03:01:20零| | | 2015/01/01 03:01:27零| + | - - - - - - - - - - - - - - - - - - - + - - - +隻顯示前5行
嗨
Pyspark麵臨著同樣的問題,我得到零後改變時間戳。上麵的數據集相似與一些額外的列
df2 = df。選擇(‘客戶’,‘Transaction_Timestamp’,‘Transaction_Base_Point_Value’, unix_timestamp (“Transaction_Timestamp”,“yyyy / MM / dd HH: MM: ss”) .cast (TimestampType ()) .alias(“時間戳”))|——顧客:字符串(nullable = true) |——Transaction_Timestamp:字符串(nullable = true) |——Transaction_Base_Point_Value:整數(nullable = true) |——時間戳:時間戳(nullable = true),但輸出的時間戳列返回null
你好,
奇怪的是它返回null。它對我來說很不錯pyspark。你能比較的代碼嗎?也顯示dataframe早些時候。請確保原始dataframe中的值顯示正確和適當的數據類型(StringType)。
' ' '
從pyspark.sql。函數導入unix_timestamp坳從pyspark.sql。類型進口TimestampType
從pyspark.sql。類型進口StringType
df =火花。createDataFrame ([“2015/01/01 03:00:36”], StringType ()) .toDF (“ts_string”)
df1 = df.select (unix_timestamp (df。ts_string, yyyy / MM / dd HH: MM: ss”) .cast (TimestampType ()) .alias(“時間戳”))
df1.show ()
' ' '
如果仍然不能解決,請分享的完整代碼,包括如何創建原始dataframe。請讓我們知道。
謝謝