У меня есть блок данных искры с столбцом, имеющим дату в формате dd-MMM-yyyy hh: mm.Spark DataFrame запрос между двумя конкретными временными диапазонами
Как сделать TimeRange запрос типа -
Найти все строки между 2 датами и в пределах определенного диапазона времени 4PM к 1AM.
Это возможно в SQL с помощью DatePart Specific Time Range Query in SQL Server
Как сделать то же самое в Спарк Dataframe.
Например,
Я хочу, чтобы найти все строки между 23-MAR-2016 до 25-MAR-2016, в диапазоне времени от 13:00:00 до 18:00:00 только.
Поэтому я должен получить только одну строку.
var input = spark.createDataFrame(Seq(
(13L, "Abhi c", "22-MAR-2016 09:10:12"),
(11L, "VF", "23-MAR-2016 16:24:25"),
(12L, "Alice Jones", "24-MAR-2016 19:20:25")
)).toDF("id", "name", "time")
input.filter("time between '23-MAR-2016' and '25-MAR-2016'").show()
+---+-----------+--------------------+
| id| name| time|
+---+-----------+--------------------+
| 11| VF|23-MAR-2016 16:24:25|
| 12|Alice Jones|24-MAR-2016 19:20:25|
+---+-----------+--------------------+
Мой выше запрос только фильтруется дату и даже я могу дать время, но как получить строки в пределах диапазона времени каждый день.