有这样的一个场景,行为数据,列有150列左右,某个事件有order_id 属性,现在有个需求,要取行为事件同一个order_id最新的那条数据
平常的做法:
- 开窗,按order_id partition by,按时间 order by
- 排序
- 取序号为1
如果数据量大的时候,over开窗很容易oom,哪怎么优化可以达到取出最新数据呢?
- max(order_id + 时间 + 其他字段)
- 取值的时候 spit 截取,按下标取值即可
手段很多,看你怎么灵活运用
有这样的一个场景,行为数据,列有150列左右,某个事件有order_id 属性,现在有个需求,要取行为事件同一个order_id最新的那条数据
平常的做法:
如果数据量大的时候,over开窗很容易oom,哪怎么优化可以达到取出最新数据呢?
手段很多,看你怎么灵活运用