Spark: окно и UDAF для фильтра Калмана - PullRequest
0 голосов
/ 18 декабря 2018

В Высокопроизводительная Spark: рекомендации по масштабированию и оптимизации Apache Spark от Холдена Карау и Рэйчел Уоррен говорят (стр. 259):

Операции с окнами позволяют вамдля вычисления ваших данных за последние K пакетов данных, что может быть очень удобно для таких вещей, как скользящие средние или фильтры Калмана

Напоминаем, что Калман - это последовательная обработка, используемая для фильтрации набораданных на основе предыдущих данных.Посмотрев, как выглядит поведение UDAF, оно, похоже, не адаптировано, поскольку отсутствует понятие упорядочения (метод слияния объединяет результаты без порядка).

Так что, если UDAF не адаптированы к kalmanи управление окнами, как фильтр Калмана может быть вычислен в окне?Есть ли пример такого использования окон?

1 Ответ

0 голосов
/ 18 декабря 2018

Обратите внимание, что в цитате конкретно говорится о операциях с окнами , поэтому ваши предположения о том, что

метод слияния объединяет результаты без порядка

не обязательно держатьЕсли оконная функция применяется с предложением ORDER BY, то есть

F(...) OVER (ORDER BY ... [<ROW or RANGE clause>])

или

F(...) OVER (PARTITION BY ... [<ROW or RANGE clause>])

, явный порядок определяется контекстом выражения, и объединение вызывается четко определенным образом..

Поскольку агрегатная функция побочного эффекта, используемая с OVER, является последовательной (глобально в первом случае, путем разбиения во втором случае), поэтому merge никогда не вызывается.

...