我有两个PySpark数据框,希望进行左连接(left join)
Prev_table:
| user_id | earnings | start_date | end_date |
|---------|--------|------------|------------|
| 1 | 10 | 2020-06-01 | 2020-06-10 |
| 2 | 20 | 2020-06-01 | 2020-06-10 |
| 3 | 30 | 2020-06-01 | 2020-06-10 |
New_table:
| user_id | profit |
|---------|--------|
| 1 | 100 |
| 2 | 200 |
| 5 | 500 |
合并后的表格是根据user_id进行分组的两个数据帧的连接结果。而earnings列则为Prev_table.earnings + New_table.profit
。
| user_id | earnings | start_date | end_date |
|---------|--------|------------|------------|
| 1 | 110 | 2020-06-01 | 2020-06-10 |
| 2 | 220 | 2020-06-01 | 2020-06-10 |
| 3 | 30 | 2020-06-01 | 2020-06-10 |
| 5 | 500 | | |
这就是 Pandas concat 的作用,但在 PySpark 中,我认为需要使用 PySparks union 来实现。 另外,我不确定如何对两列进行求和。 我知道需要使用类似于
combined_df.agg({"earnings": "sum"}).collect()
的东西,但我很难让它正常工作。
感谢您提供有关 PySpark 工作流程的任何指导。
谢谢。