2016-11-15 21 views
0

我有一個存儲utc(javascript timestamp,名爲utc)的列的數據框,我試圖添加一個以utc存儲爲可讀字符串的列。Pyspark添加列將現有的javascript utc列轉換爲字符串

from datetime import datetime 
panel_json = panel_json.withColumn('timestamp', datetime.utcfromtimestamp(panel_json.utc/1000.0).strftime('%Y-%m-%dT%H:%M:%SZ')) 

但是,任何企圖我給我

TypeError: a float is required

我試着以及把漂浮panel_json.utc

datetime.utcfromtimestamp(float(panel_json.utc)/1000.0).strftime('%Y-%m-%dT%H:%M:%SZ')) 

和其他一些嘗試用引號,消除panel_json等。 ..但我無法使其工作。任何想法?

感謝

回答

0

Python庫不能使用這種方式。您可以爲該格式創建UDF,或者 - 可以快得多 - 讓內置的udf完成這項工作。

+0

對不起,但在那裏迷路了,是不是可以添加一列基於另一列上的功能? – mitomed

+0

這是可能的 - 在Python中使用用戶定義的函數(UDF)或由spark提供的函數(在您的情況下爲date_format) – Mariusz