【问题标题】:Pyspark: Join a daily data table with a monthly attribute tablePyspark:将每日数据表与每月属性表连接起来
【发布时间】:2022-07-04 16:42:48
【问题描述】:

我有一个每日用户表:(此处仅表示为几个日期的示例)

user date
A 20220410
B 20220410
C 20220410
D 20220410
A 20220425
B 20220425
C 20220425
D 20220425
A 20220501
B 20220501
C 20220501
D 20220501
A 20220525
B 20220525
C 20220525
D 20220525

我有第二个每月属性表为:

user dt code
A 20220322 00
B 20220322 01
C 20220322 02
D 20220322 03
A 20220420 100
B 20220420 101
C 20220420 102
D 20220420 103
A 20220523 201
B 20220523 202
C 20220523 203
D 20220523 204

属性表一般在第 3 周更新(日期不固定,此处为“20220420”和“20220523”)。 问题 - 我有 2 年的历史数据(以百万计)。我想在用户表和更新的属性表上加入这个表。 IE。从 20220322 到 20220419 的用户应该获得代码为 (00,01,02,03)。从 20220420 到 20220522 的用户应该从 (100,101,102,103) 获取代码

预期表:

user date code
A 20220410 00
B 20220410 01
C 20220410 02
D 20220410 03
A 20220425 101
B 20220425 102
C 20220425 103
D 20220425 104
A 20220501 101
B 20220501 102
C 20220501 103
D 20220501 104
A 20220525 201
B 20220525 202
C 20220525 203
D 20220525 204

我如何在 pyspark 中做到这一点..

【问题讨论】:

    标签: python sql join pyspark apache-spark-sql


    【解决方案1】:

    我能够使用两个左连接来解决这个问题。

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 2011-11-20
      • 2023-02-08
      • 2023-03-29
      • 2022-01-19
      • 1970-01-01
      • 2017-08-27
      • 2023-03-12
      • 2015-08-18
      相关资源
      最近更新 更多