有没有一种方法可以添加两列,以便第一列是日期,第二列包含需要添加的天数?我尝试着
date_add(res.col("date"), res.col("days"));
但这是行不通的,因为
date_add()
需要一个Column
和int
,而我却有两列。谢谢!
最佳答案
这是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)"))