Получение идентификатора сеанса в потоковом SQL для Amazon Kinesis - PullRequest
0 голосов
/ 14 сентября 2018

Мне удалось нормализовать мои данные в следующем формате:

|ID | SessionState | PreviousID |
|1  |   OFF        |    -       |
|2  |   ON         |    1       |
|3  |   ON         |    2       |
|4  |   OFF        |    3       |

Я пытаюсь добавить к этому CycleID, который будет выдавать следующее:

|ID | SessionState | PreviousID | CycleID |
|1  |   OFF        |    -       |    -    |
|2  |   ON         |    1       |    1    |
|3  |   ON         |    2       |    1    |
|4  |   OFF        |    3       |    1    |

В настоящее время я использую функцию задержки, которая захватывает предыдущее состояние и предыдущий идентификатор (который я захватывал ранее), однако я не могу заставить его сохраняться до изменения состояния.Мне более или менее нужно окно от

SessionState = 'OFF -> ON' до 'ON -> OFF'

Поскольку я делаю это в Kinesis Analytics, любая помощьс этим будет оценено.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Если ваш случай позволяет вам отправить все данные в базу данных, а затем использовать стандартный SQL - сделайте это.Но если у вас есть семантика временного окна и вам нужна оперативность в реальном времени, сложная с бизнес-логикой, вам понадобится специальный инструмент, такой как Kafka, Spark или Drools.

0 голосов
/ 16 сентября 2018

Есть связанный вопрос - Использование Kinesis Analytics для построения сеансов в реальном времени , который предлагает несколько вариантов решения проблемы сессионизации.

...