在 Amazon Kinesis 的 Streaming SQL 中获取会话 ID
Getting Session ID in Streaming SQL for Amazon Kinesis
我已经能够将我的数据规范化为以下格式:
|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 |
目前我正在使用一个滞后函数来获取之前的状态和 previousID(我之前正在获取),但是,在状态改变之前我无法让它持续存在。我或多或少需要一个来自
的 window
SessionState = 'OFF-->ON' 到 'ON-->OFF'
由于我是在 Kinesis Analytics 中执行此操作,因此我们将不胜感激。
谢谢
有一个相关问题 - Using Kinesis Analytics to construct real time sessions,它提出了解决会话化问题的几个选项。
如果您的情况允许您将所有数据推送到数据库,然后使用标准 SQL - 那就去做吧。但是,如果你有时间 window 语义并且需要实时响应,复杂的业务逻辑,你将需要一个专门的工具,如 Kafka、Spark 或 Drools。
我已经能够将我的数据规范化为以下格式:
|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 |
目前我正在使用一个滞后函数来获取之前的状态和 previousID(我之前正在获取),但是,在状态改变之前我无法让它持续存在。我或多或少需要一个来自
的 windowSessionState = 'OFF-->ON' 到 'ON-->OFF'
由于我是在 Kinesis Analytics 中执行此操作,因此我们将不胜感激。
谢谢
有一个相关问题 - Using Kinesis Analytics to construct real time sessions,它提出了解决会话化问题的几个选项。
如果您的情况允许您将所有数据推送到数据库,然后使用标准 SQL - 那就去做吧。但是,如果你有时间 window 语义并且需要实时响应,复杂的业务逻辑,你将需要一个专门的工具,如 Kafka、Spark 或 Drools。