小编New*_*ie 的帖子

PySpark 数据框中的日期差异(以年为单位)

我有 Pandas 背景,对 Spark 很陌生。我有一个数据框,其中有id, dob,age作为列。我想从用户的年龄中获取他的年龄dob(在某些情况age下列为 NULL)。

+----+------+----------+
| id | age  |   dob    |
+----+------+----------+
|  1 | 24   | NULL     |
|  2 | 25   | NULL     |
|  3 | NULL | 1/1/1973 |
|  4 | NULL | 6/6/1980 |
|  5 | 46   |          |
|  6 | NULL | 1/1/1971 |
+----+------+----------+
Run Code Online (Sandbox Code Playgroud)

我想要一个新列来计算从dob当前日期开始的年龄。

我尝试了这个,但没有得到任何结果:

df.withColumn("diff", 
              datediff(to_date(lit("01-06-2020")),
                       to_date(unix_timestamp('dob', "dd-MM-yyyy").cast("timestamp")))).show()
Run Code Online (Sandbox Code Playgroud)

python datediff apache-spark apache-spark-sql pyspark

2
推荐指数
1
解决办法
1万
查看次数