背景:
在公司很多业务中,都会涉及数据处理。其中一项数据处理,就是补缺数据。
例如:公司正在投放某个项目,在不同的平台不同的时间投放的成本不一样。由于某些原因,造成打点的成本数据缺失。这时我们就需要通过一定的策略将数据补上。
1.需求:
通过两种策略补数据,补完的数据取平均值,作为要填补的投放成本
补数据策略1:
同一个平台取最近一次投放的有效成本(上一次投放的有效成本)(有效成本:成本不为空)
补数据策略2:
取同一个平台紧接着一次投放的有效成本(下一次投放的有效成本)
结果数据如下:
2.数据准备
---1.创建测试表
create table test.test_advertising
(platform_id string comment '平台id',
put_in_time string comment '投放时间',
cost int comment '成本');
---2.插入测试数据
insert into test.test_advertising values
('1101','2021-01-01',120),
('1102','2021-01-01',150),
('1102','2021-01-02',null),
('1102','2021-01-03',null),
('1102','2021-01-04',200),
('1102','2021-01-05',210),
('1103','2021-01-06',300),
('1103','2021-01-07',null),
('1103','2021-01-08',400),
('1104','2022-01-01',600),
(