Spark-SQL Преобразование метки времени с точностью до 10-й минуты - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь преобразовать следующую метку времени в ближайшую 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, не уверенный, где я ошибаюсь

...