2016-10-13 3 views
0

У меня есть блок данных искры с отметкой времени, я хочу новый столбец, который имеет строки в формате «ГГГГММ».Как создать новый столбец строк, извлекающий целые числа из метки времени в Spark?

Я попытался с:

df.withColumn('year_month',year(col("timestamp")).cast("string")+month(col("timestamp")).cast("string")) 

Но если моя временная метка 2016-10-12, она возвращается в 2020 YYYYMM.

ответ

0

Вы можете использовать date_format:

from pyspark.sql.functions import date_format 
df.withColumn('year_month', date_format('timestamp', 'yyyyMM')) 
+0

Отлично, это работает. Любая идея, почему столбцы, которые не передаются в строку перед конкатенацией? – foebu

+1

ваш код будет работать, если вы завернете его в 'concat()' вместо того, чтобы пытаться конкатенировать с '+'. – mtoto