Pyspark: как добавить десять дней к существующему столбцу даты - PullRequest
0 голосов
/ 05 июня 2018

У меня есть датафрейм в Pyspark со столбцом даты под названием «report_date».

Я хочу создать новый столбец с именем «report_date_10», который будет добавлен к исходному столбцу report_date на 10 дней.

Ниже приведен код, который я пробовал:

df_dc["report_date_10"] = df_dc["report_date"] + timedelta(days=10)

Это ошибка, которую я получил:

AttributeError: у объекта 'datetime.timedelta' нет атрибута '_get_object_id'

Помогите!THX

1 Ответ

0 голосов
/ 05 июня 2018

Кажется, вы используете синтаксис pandas для добавления столбца;Для искры, вам нужно использовать withColumn, чтобы добавить новый столбец;Для добавления даты есть встроенная функция date_add:

import pyspark.sql.functions as F
df_dc = spark.createDataFrame([['2018-05-30']], ['report_date'])

df_dc.withColumn('report_date_10', F.date_add(df_dc['report_date'], 10)).show()
+-----------+--------------+
|report_date|report_date_10|
+-----------+--------------+
| 2018-05-30|    2018-06-09|
+-----------+--------------+
...