Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark-Scala-两个日期之间的天数_Scala_Apache Spark - Fatal编程技术网

Spark-Scala-两个日期之间的天数

Spark-Scala-两个日期之间的天数,scala,apache-spark,Scala,Apache Spark,我用的是spark 1.3 我有一个数据框,我需要计算给定日期和当前日期之间的天数。我正试图将其作为选择聚合的一部分进行计算,如下所示。下面带有datediff函数的代码不工作 val testdate = Inputdata.selectExpr("id", "amt", "substr(TranDt,1,4) as TranYear",

我用的是spark 1.3

我有一个数据框,我需要计算给定日期和当前日期之间的天数。我正试图将其作为选择聚合的一部分进行计算,如下所示。下面带有datediff函数的代码不工作

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()函数不起作用。有没有办法计算天数?。