如何比较两个数据帧并在 pyspark 中提取不匹配的行?
How to compare two dataframes and extract unmatched rows in pyspark?
嗨,我有两个数据框。一个是父数据框,第二个是增量数据框。我只想提取那些存在于增量数据框中但不存在于基于键列的父数据框中的记录。
示例:
关键列:call_id
parent_dataframe:
call_id call_nm src
100 QC Darzalex MM
105 XY INVOKANA
107 CZ Simponi RA
117 NM Guselkumab PSA
118 YC STELARA
126 RF INVOKANA
增量数据帧:
call_id call_nm src
118 YC STELARA
126 RF INVOKANA
131 VG STELARA
135 IJ Stelara CD
不匹配的数据框:
call_id call_nm src
131 VG STELARA
135 IJ Stelara CD
使用 left_anti 加入,增量优先。 Left_anti 检查第二个 df 中是否存在这些值,然后它们将缺失的值保留在 df 中。
Incremental.join(parent_dataframe,on='call_nm', how='left_anti').show()
+-------+-------+----------+
|call_nm|call_id| src|
+-------+-------+----------+
| IJ| 135|Stelara CD|
| VG| 131| STELARA|
+-------+-------+----------+
嗨,我有两个数据框。一个是父数据框,第二个是增量数据框。我只想提取那些存在于增量数据框中但不存在于基于键列的父数据框中的记录。
示例:
关键列:call_id
parent_dataframe:
call_id call_nm src
100 QC Darzalex MM
105 XY INVOKANA
107 CZ Simponi RA
117 NM Guselkumab PSA
118 YC STELARA
126 RF INVOKANA
增量数据帧:
call_id call_nm src
118 YC STELARA
126 RF INVOKANA
131 VG STELARA
135 IJ Stelara CD
不匹配的数据框:
call_id call_nm src
131 VG STELARA
135 IJ Stelara CD
使用 left_anti 加入,增量优先。 Left_anti 检查第二个 df 中是否存在这些值,然后它们将缺失的值保留在 df 中。
Incremental.join(parent_dataframe,on='call_nm', how='left_anti').show()
+-------+-------+----------+
|call_nm|call_id| src|
+-------+-------+----------+
| IJ| 135|Stelara CD|
| VG| 131| STELARA|
+-------+-------+----------+