Я пытаюсь преобразовать следующую метку времени в ближайшую 10-ую минуту в spark-sql
Например: * 2015-03-05 09:32:05.359
в 2015-03-05 09:30:00
2. 2015-03-16 19:58:09.243
в '2015-03-16 19: 50,00 '
попытался использовать date_trunc
, minute
из доступных функций
%spark
val df = spark.sql("""
SELECT date_trunc('minute','2015-03-05 09:32:05.359') -interval minute('2015-03-05 09:32:05.359')%10 minute as time
""")
вышеприведенный код выдает ошибки
Однакоследующий %spark
val df = spark.sql("""
SELECT date_trunc('minute','2015-03-05 09:32:05.359') -interval 1 minute as time
""")
работает отлично и генерирует следующий вывод
+-------------------+
| time|
+-------------------+
|2015-03-05 09:31:00|
+-------------------+
Я получаю следующую ошибку на первом фрагменте кода
mismatched input '(' expecting <EOF>(line 2, pos 72)
== SQL ==
SELECT date_trunc('minute','2015-03-05 09:32:05.359') -interval minute('2015-03-05 09:32:05.359') minute as time
------------------------------------------------------------------------^^^
Я проверил документацию по минутной функции и уверен, что минута (...) возвращает тип INT, не уверенный, где я ошибаюсь