AWS Glue ジョブの一部として PySpark を使用して 2 つのデータフレームを操作しようとしています。
df1:
item tag
1 AB
2 CD
3 EF
4 QQ
df2:
key1 key2 tags
A1 B1 [AB]
A1 B2 [AB, CD, EF]
A2 B1 [CD, EF]
A2 B3 [AB, EF, ZZ]
次の方法で、df2 の配列を df1 のタグと一致させたいと思います。
item key1 key2 tag
1 A1 B1 AB
1 A1 B2 AB
2 A1 B2 CD
2 A2 B1 CD
3 A1 B2 EF
3 A2 B1 EF
3 A2 B3 EF
したがって、df1 のタグは、df2 のタグ エントリに基づいて行を展開するために使用されます。たとえば、アイテム 1 のタグ「AB」は、最初の 2 行の df2 のタグ配列に含まれています。
また、タグ QQ が df2 のどの配列にも存在しないため、4 がどのように無視されるかに注意してください。
これが内部結合になることはわかっていますが、df1.tag と df2.tags を一致させて key1 と key2 を取り込む方法がわかりません。どんな援助でも大歓迎です。