Scala中的日期转换问题

时间:2018-09-05 03:31:52

标签: scala apache-spark apache-spark-sql

我有一种情况,我必须获取当前日期与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 datespark.sql.date格式的(yyyy-MM-dd)进行比较?

1 个答案:

答案 0 :(得分:0)

您可以将Java的localDate转换为Date数据类型,然后将其与数据框日期进行比较。将LocalDate转换为Date数据类型的示例代码为:

incorrect syntax near distinct

该代码示例使用Java,但您可以编写它的Scala版本:)