Раздвижные окна Vs Tumbling

Я читаю длинную статью о Data Stream Management, и меня немного смущает разница между Sliding и Tumbling Windows. До сих пор я понял, что барабанные окна могут быть основаны на времени и имеют фиксированные (начальные, конечные) точки, которые "падают", когда это окно истекает. Например. Временное окно может составлять 1 минуту. Таким образом, каждую минуту окно сворачивается для обработки агрегатов для набора данных.

Это раздвижные окна, которые меня путают. Это скользящие окна, такие как count-based, так что окно падает, когда в окно вводится x-число кортежей. Или это то, что x-последние кортежи, которые вошли в окно, будут частью окна и что старые кортежи будут выселены из этого окна. То есть окно, которое постоянно обновляется по мере поступления новых кортежей?

Ответ 1

Tumbling windows (TW) Все кортежи в окне истекают одновременно.

Раздвижные окна (SW) Только некоторые из кортежей заканчиваются в заданное время

Пример Если у вас есть окно, содержащее следующие целые числа (Обозначение целое число (секунды после ввода)), и пусть говорят, что TW было создано 60 секунд назад, а для обоих окон - 60 секунд.

1 (0s), 2 (10s), 4 (24s), 8 (17s), 16 (40s)

Скажите, что прошло 20 секунд, а затем в окно вошли следующие целые числа.

7, 3, 6

Теперь предыдущий TW истек и будет содержать только указанные выше значения. В то время как SW будет содержать следующие значения

7, 3, 6, 1, 2, 4, 8

Ответ 2

  • Tumbling повторяется в неперекрывающемся интервале.
  • Хоппинг близок к обрушению, но прыжок обычно имеет перекрывающийся интерверсальный.
  • Сдвиги времени с регулярным интервалом.
  • Триггеры выселения на счетчике.

Ниже представлено графическое представление, показывающее различные типы D ata S tream M управление S ystem (DSMS) - скачкообразное перемещение, скачкообразное перемещение по временной шкале и скользящая политика выселения. Я использовал приведенный выше пример для создания изображения (создания предположений).

Окно в DSMS

Ответ 3

Предположим, что функции windowing как традиционная операция GROUP BY, которая работает с временными входными данными, применяет заданную функцию агрегации и выводит результат.

Основное различие между операцией Tumbling Window (TW) и раздвижным окном (SW) состоит в наборе пересечений рассматриваемых точек данных, который пуст в первом случае и, вероятно, не пуст в последнем случае.

Очень хорошее чтение из Microsoft Azure Stream Analytics делает разницу с иллюстрациями.

  • TW, учитывая галочку в 10 секунд, такие выходы оконной операции каждый гасят результат от функции агрегации за такой временной интервал;
  • SW, рассматривая галочку Xs, такие операции вывода окон каждый галочка результат от функции агрегации для временного кадра Ys всякий раз, когда происходит событие, например, X = 1 и Y = 10 затем каждую секунду функция оконного просмотра оглядывается назад на десять секунд, отбрасывая систематически старейшая точка данных.

Рассмотрим конкретный пример следующих временных рядов:

t0-> 5 7 4 3 1 1 3 t10-> 4 5 8 1 2 3 3 3 5 7 7 t20-> t30-> 3 3 4 t40->

Учитывая SUM как функцию агрегации и банальную стратегию SW, которая является Hoping Window (HW):

  • при t0 SW = TW = 0;
  • при t10 SW = TW = 24;
  • при t11 нет TW, но SW = 23 а пересечение между последующими окнами - 7 4 3 1 1 3;
  • при t11 нет TW, но SW = 21 а пересечение между последующими окнами - 4 3 1 1 3 4;
  • при t20 TW = SW = 48;
  • при t21 нет TW, но SW = 44 а пересечение между последующими окнами - 5 8 1 2 3 3 3 5 7 7
  • при t30 TW = SW = 0;
  • при t31 нет TW, но SW = 3 а пересечение между последовательными окнами пусто, так как в [t20, t30] не произошло никаких событий.

Еще одно хорошее чтение SoftwareMill CTO Adam Warski, которое иллюстрирует использование современных потоковых технологий, таких как Spark, Flink, Akka и Kafka.