【发布时间】:2022-01-16 15:50:29
【问题描述】:
我在 Databricks 中有一个缺失值 (null) 的 Spark SQL 表,其格式如下:
date price stock item_code
2020-01-01 17.99 6 01
2020-01-02 17.99 null 01
2020-01-03 17.99 4 01
2020-01-04 17.99 null 01
2020-01-01 11.59 null 02
2020-01-02 11.59 8 02
2020-01-03 11.59 null 02
2020-01-04 11.59 4 02
对于每个item_code,我都有date 相同范围内的数据。 stock 列可能会报告错误和缺失值。有时这些缺失值出现在日期范围的开始/结束处。
如果项目具有前后期间的值,我想使用前后记录值的简单平均值来插入空值。当缺失值位于日期范围的开头或结尾时,我想为该item_code 填充第一个或最后一个可用的stock 值。我的目标表是这样的:
date price stock item_code
2020-01-01 17.99 6 01
2020-01-02 17.99 5 01
2020-01-03 17.99 4 01
2020-01-04 17.99 4 01
2020-01-01 11.59 8 02
2020-01-02 11.59 8 02
2020-01-03 11.59 6 02
2020-01-04 11.59 4 02
我想我可以使用窗口函数来查找前后期间的平均值,但我不确定如何构建窗口。任何建议将不胜感激。
【问题讨论】:
标签: sql apache-spark apache-spark-sql linear-interpolation