有没有一种方法可以添加两列,以便第一列是日期,第二列包含需要添加的天数?我尝试着

date_add(res.col("date"), res.col("days"));


但这是行不通的,因为date_add()需要一个Columnint,而我却有两列。

谢谢!

最佳答案

这是DataFrame DSL的限制,而不是引擎本身。这不是最佳选择,但是您可以将函数调用替换为expr

import org.apache.spark.sql.functions.{expr, col}

val df = Seq(("2012-04-05", 6))
  .toDF("date", "days")
  .withColumn("date", col("date").cast("date"))

df.select(expr("date_add(date, days)"))

07-24 09:38
查看更多