Я хочу рассчитать возраст и из поля DOB. Но в моем коде я жестко это кодирую. Но нужно делать динамично, как сегодня - ДОБ. Точно так же я также хочу рассчитать продолжительность от start_date. Мой фрейм данных выглядит так -
id dob start_date
77 30/09/1990 2019-04-13 15:27:22
65 15/12/1988 2018-12-26 23:28:12
3 08/12/2000 2018-12-26 23:28:17
У меня пока - Для расчета возраста
df= df.withColumn('dob',to_date(unix_timestamp(F.col('dob'),'dd/MM/yyyy').cast("timestamp")))
end_date = '3/09/2019'
end_date = pd.to_datetime(end_date, format="%d/%m/%Y")
df= df.withColumn('end_date',F.unix_timestamp(F.lit(end_date),'dd/mm/yyyy').cast("timestamp"))
df = df.withColumn('age', (F.datediff(F.col('end_date'), F.col('dob')))/365)
df= df.withColumn("age", func.round(df["age"], 0))
For duration calculation -
end_date_1 = '2019-09-30'
end_date_1 = pd.to_datetime(end_date_1, format="%Y-%m-%d")
df= df.withColumn('end_date_1',F.unix_timestamp(F.lit(end_date_1),'yyyy-MM-dd HH:mm:ss').cast("timestamp"))
df= df.withColumn('duration', (F.datediff(F.col('end_date_1'), F.col('created_at'))))
В двух приведенных выше кодах я жестко запрограммировал два значения. Один - end_date = '2019-09-30', другой - end_date_1 = '2019-09-30'. Но хочу сделать это на основе даты todays (). Как это сделать в парке?
current_date()
spark.apache.org/docs/2.4.0/api/python/ - person jxc   schedule 04.10.2019