Arrangement

Arrangement 存储数据流进程中的状态,存储 flow 的更新流(stream)以供进一步查询和更新。

Arrangement 本质上存储的是带有时间戳的键值对。 在内部,Arrangement 接收类似 ((Key Row, Value Row), timestamp, diff) 的 tuple,并将其存储在内存中。 你可以使用 get(now: Timestamp, key: Row) 查询某个时间的键值对。 Arrangement 假定早于某个时间(也称为 Low Watermark)的所有内容都已被写入到 sink 表中,不会为其保留历史记录。

Arrangement - 图1注意

Arrangement 允许通过将传入 tuple 的 diff 设置为 -1 来删除键。 此外,如果已将行数据添加到 Arrangement 并且使用不同的值插入相同的键,则原始值将被新值覆盖。