Spark-Scala-两个日期之间的天数
我用的是spark 1.3 我有一个数据框,我需要计算给定日期和当前日期之间的天数。我正试图将其作为选择聚合的一部分进行计算,如下所示。下面带有datediff函数的代码不工作Spark-Scala-两个日期之间的天数,scala,apache-spark,Scala,Apache Spark,我用的是spark 1.3 我有一个数据框,我需要计算给定日期和当前日期之间的天数。我正试图将其作为选择聚合的一部分进行计算,如下所示。下面带有datediff函数的代码不工作 val testdate = Inputdata.selectExpr("id", "amt", "substr(TranDt,1,4) as TranYear",
val testdate = Inputdata.selectExpr("id",
"amt",
"substr(TranDt,1,4) as TranYear",
"datediff(current_date(), TranDt) as numofdays")
非常感谢您的帮助。Datediff()函数是spark 1.5.0引入的,因为您使用的是1.3,所以您的脚本无法工作。更新到1.5.0以使其正常工作。spark 1.5.0引入了Datediff()函数,因为您使用的是1.3,所以脚本无法正常工作。更新到1.5.0以实现此功能。如果您无法升级Spark版本,您可以提取并映射结果,使用Joda time之类的工具解析日期以计算两者之间的天数
Days.daysBetween(firstdate, seconddate).getDays()
如果您无法升级您的Spark版本,您可以提取并映射结果,使用Joda time之类的工具解析日期,以计算两者之间的天数
Days.daysBetween(firstdate, seconddate).getDays()
Scala代码:
val startDate = LocalDate.now
val endDate = startDate.plusDays(10)
val diff = Period.between(startDate, endDate).getDays
println(diff)
它将打印10
Scala代码:
val startDate = LocalDate.now
val endDate = startDate.plusDays(10)
val diff = Period.between(startDate, endDate).getDays
println(diff)
它将打印
10
你所说的“不工作”是什么意思?我要看的是两个日期之间的天数。作业未运行,并显示以下错误消息“线程中的异常”main“java.util.NoSuchElementException:找不到键:datediff”。我认为datediff和当前的_date()函数不起作用。有没有办法计算天数?你说的“不工作”是什么意思?我想知道的是两个日期之间的天数。作业未运行,并显示以下错误消息“线程中的异常”main“java.util.NoSuchElementException:找不到键:datediff”。我认为datediff和当前的_date()函数不起作用。有没有办法计算天数?。