2016-11-15 17 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