【发布时间】:2020-07-08 04:46:46
【问题描述】:
我正在尝试解决这个问题:
给定一个 input_table :
> app_name, user_id, state, timestamp \
> App1 , user1 , open, 1 \
> App1 , user1 , close, 2 \
> App2 , user2 , open, 3 \
> App1 , user4 , open, 4 \
> App2 , user3 , open, 5
我想使用 MV 来更新用户和应用程序状态映射,如下面的 output_table。
> App1 , [user4] -- user1 is closed \
> App2 , [user2, user3]
output_table 应在数据插入 input_table 后立即更新。
当我在 input_table 中有传入数据时:
> App1, user5, open, 6 \
> App1, user1, open, 7
输出表应该是这样的:
> App1 , [user4, user5, user1] \
> App2 , [user2, user3]
我有一个非常幼稚的解决方案版本,但它是批量更新并且需要表扫描数据来重建映射。 有什么方法可以在很短的一段时间后部分完成,或者通过插入的每一行进行更新。我认为 Materialize View 可以提供帮助,但我不确定每次在 input_table 中插入时要更新的输出表
【问题讨论】:
标签: sql view aggregate materialize clickhouse