2016-11-15 2 views
0

У меня есть dataframe с столбцом, хранящим utc (javascript timestamp, named utc), и я пытаюсь добавить к нему столбец с utc, который хранится как читаемая строка.Pyspark добавить столбец, преобразовывающий существующий столбец utc javascript в строку

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 и т.д. .. но я не могу заставить его работать. Есть идеи?

Thanks

ответ

0

Python library не может быть использован именно так. Вы можете создать UDF для этого форматирования или - что намного быстрее - пусть pyspark date_format встроенный udf выполнит эту работу.

+0

Извините, но потеряно там, невозможно добавить столбец на основе функции в другом столбце? – mitomed

+0

Возможно использование пользовательских функций (UDF) в python или функций, предоставляемых искровым (date_format в вашем случае) – Mariusz

Смежные вопросы