【发布时间】:2021-05-10 05:14:58
【问题描述】:
我在两张表中有一些数据,一张是日期列表(带有其他字段),从 2014 年 1 月 1 日到昨天。另一张表包含 2020 年一年的数值数据(系数/指标数据)。
日期表上两个数据集之间的左连接导致所有日期都被带回,仅填充 2020 年的数据年份,其余为空。
我想要做的是用 2020 年的数据在 -364 天的地图上填充到 2014 年(和未来)的历史。
例如
#+----------+-----------+
#|date |metric |
#+----------+-----------+
#|03/02/2018|null |
#|04/02/2018|null |
#|05/02/2018|null |
#|06/02/2018|null |
#|07/02/2018|null |
#|08/02/2018|null |
#|09/02/2018|null |
#|10/02/2018|null |
#|.... | |
#|02/02/2019|null |
#|03/02/2019|null |
#|04/02/2019|null |
#|05/02/2019|null |
#|06/02/2019|null |
#|07/02/2019|null |
#|08/02/2019|null |
#|09/02/2019|null |
#|... |... |
#|01/02/2020|0.071957531|
#|02/02/2020|0.086542975|
#|03/02/2020|0.023767137|
#|04/02/2020|0.109725808|
#|05/02/2020|0.005774458|
#|06/02/2020|0.056242301|
#|07/02/2020|0.086208715|
#|08/02/2020|0.010676928|
这就是我想要达到的目标:
#+----------+-----------+
#|date |metric |
#+----------+-----------+
#|03/02/2018|0.071957531|
#|04/02/2018|0.086542975|
#|05/02/2018|0.023767137|
#|06/02/2018|0.109725808|
#|07/02/2018|0.005774458|
#|08/02/2018|0.056242301|
#|09/02/2018|0.086208715|
#|10/02/2018|0.010676928|
#|.... | |
#|02/02/2019|0.071957531|
#|03/02/2019|0.086542975|
#|04/02/2019|0.023767137|
#|05/02/2019|0.109725808|
#|06/02/2019|0.005774458|
#|07/02/2019|0.056242301|
#|08/02/2019|0.086208715|
#|09/02/2019|0.010676928|
#|... |... |
#|01/02/2020|0.071957531|
#|02/02/2020|0.086542975|
#|03/02/2020|0.023767137|
#|04/02/2020|0.109725808|
#|05/02/2020|0.005774458|
#|06/02/2020|0.056242301|
#|07/02/2020|0.086208715|
#|08/02/2020|0.010676928|
值得注意的是,我最终可能不得不回到 2014 年以上,因此对人口的任何活力都会有所帮助!
我在 databricks 中执行此操作,因此我可以使用各种语言,但希望专注于 Python/Pyspark/SQL 解决方案。
任何帮助将不胜感激。
谢谢。 计算机断层扫描
【问题讨论】:
标签: python sql apache-spark pyspark apache-spark-sql