Как найти ближайшую дату к текущей дате - PullRequest
0 голосов
/ 15 июня 2019

Я работаю над проблемой, когда хочу отобразить ближайшую дату / время из текущей даты в Scala.

У меня есть данные как ниже:

FlightTo    Date
-FT1      17-06-2019 
-FT2      19-06-2019
-FT3      23-06-2019 
-FT4      25-06-2019 
-FT5      27-06-2019

Я хочу узнать ближайшую дату рейса, которую я могу узнать при проверке данных. Как этого добиться, используя Scala и Spark?

1 Ответ

0 голосов
/ 16 июня 2019
import org.apache.spark.sql.expressions.Window


val win =Window.orderBy("date_differnece")

val df= Seq(("FT1" ,"17-06-2019"), ("FT2" ,"19-06-2019"), ("FT3" ,"23-06-2019"),( "FT4", "25-06-2019"),("FT5", "27-06-2019")).toDF("flight", "dt")

val df1= df.withColumn("date_differnece", abs(datediff(current_date,to_date($"dt", "dd-MM-yyyy"))))

df1.select($"*", min($"date_differnece").over(win).as("nearest_flight")).where($"nearest_flight"===$"date_differnece").select($"dt")


+----------+
|        dt|
+----------+
|17-06-2019|
+----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...