首页 > 解决方案 > 比较两个火花数据框列并检查另一个数据框中列中的每个字符串以生成新列

问题描述

我有两个巨大的 spark 数据框,一个有 50k 行,另一个有 60k。我正在尝试将每个列字符串与其他数据框列进行比较,并生成带有备注条件的新数据框。如果 df1 中的列字符串存在于 df2 中,它将被重复备注。

df1
colA    colB
A       d4f488bef2d2e25371caecb6a505d69f
B       c8a91953fc52ecdec31ac19c61538aca
C       62026fd921133e434d860591fc03f66a
D       e88480226d3b7e791f6e861c30399fb5
E       8335195031ecfee8f979247c6e7d68cb

df2
ColA    ColB
W       411c78854c9cbcb89a02f53c4b6bca59
X       0bfeb09d6cfb26fc9c618b4cbdfadee6
C       62026fd921133e434d860591fc03f66a
E       8335195031ecfee8f979247c6e7d68cb

Expected output : df3
ColA    ColB                                Remark
A       d4f488bef2d2e25371caecb6a505d69f    old
B       c8a91953fc52ecdec31ac19c61538aca    old
D       e88480226d3b7e791f6e861c30399fb5    old
W       411c78854c9cbcb89a02f53c4b6bca59    new
X       0bfeb09d6cfb26fc9c618b4cbdfadee6    new
C       62026fd921133e434d860591fc03f66a    duplicate
E       8335195031ecfee8f979247c6e7d68cb    duplicate 

标签: scalaapache-sparkpysparkapache-spark-sqluser-defined-functions

解决方案


推荐阅读