描述:原始数据有update_time的情况(此时你可以存最大的update_time到zk,或者更简单操作每次都跑 近1小时 的数据)
情况1:update_time存入zk:好处是每次增量的数据都能保证是: 新增和更新 两种状态,不会是未变化的数据
full join (不支持map join)
改写为
1.原始数据(left join 增量数据 where 增量数据为空) union all 增量数据 (新增 更新) 【推荐】
2.原始数据 直接 union all 增量数据 ,再使用 row_number() 取第1条
情况2:update_time不存入zk:你的增量数据就会有三类,新增 更新 未变化(有点类似滑动窗口,比如每5分钟跑的是每30分钟内的数据,那么同一份数据是会被处理6次的)
原始数据(left join 增量数据 where 增量数据为空) // 这里其实也是会把 增量数据 中未变化的数据给过滤掉的 ,只是说最终 这部分数据会从后面的 增量数据 中补过来
union all
增量数据(新增 更新 未变化)



