【发布时间】:2018-05-10 19:06:22
【问题描述】:
这里是 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())
但是这给了我编译器错误:
“类型不匹配,预期:列,实际:日期”
有什么想法可以做到这一点吗?
【问题讨论】:
-
您可以使用
lit()函数将值转换为列。但是,它并不支持所有类型。您将不得不使用 java.sql 类型。
标签: apache-spark