我有一种情况,我必须获取当前日期与dataframe
列中的日期之间的差。当我采用localDate format
中的当前日期,而dataframe
中的日期为日期数据类型时,我遇到了一个问题。
我还尝试将当前日期转换为字符串,并从dataframe to string
转换数据,但是由于日期应该与日期数据类型进行比较,因此没有得到预期的输出。
我使用了以下代码:
import java.time.LocalDate
val localDate = LocalDate.now
def computeCarAge(importvoices:DataFrame): DataFrame = {
val computeCarAgeUDF = udf (
(aged: Date) =>
if (aged < localDate ) {
"from0to1year"
} else if (aged <= localDate) {
"from1to2years" }
)
如何将java local date
与spark.sql.date
格式的(yyyy-MM-dd)
进行比较?
答案 0 :(得分:0)
您可以将Java的localDate转换为Date数据类型,然后将其与数据框日期进行比较。将LocalDate转换为Date数据类型的示例代码为:
incorrect syntax near distinct
该代码示例使用Java,但您可以编写它的Scala版本:)