Scala 2.11在这里。我有以下数据库表:
[input]
===
id BIGINT UNSIGNED NOT NULL,
name VARCHAR(50) NOT NULL,
rank INT NOT NULL
我使用以下Spark代码阅读:
val inputDf = sqlContext().read
.format("blah whatever")
.option("url", "jdbc://blah://whatever")
.option("query", "SELECT * FROM input WHERE id < 500")
.load()
但是我希望我的inputDf
包含数据库中不存在的新列lastRanOn
,它将是一个Java Date
,其值为当前时间(所以new Date()
)。我能想出的最接近的是:
inputDf.withColumn("lastRanOn", new Date())
然而,这给了我编译错误:
“类型不匹配,预期:列,实际:日期”
我有什么想法可以实现这个目标吗?
答案 0 :(得分:2)
第二个参数必须是Column
。您可以使用current_date
import org.apache.spark.sql.functions.current_date
inputDf.withColumn("lastRanOn", current_date)