Tab1 列[F,S,E]
F1 S1 R
F1 S2 R2
F1 S3 R1
F2 S1 R2
F2 S4 R4
F1 S4 R
Tab2 列[F,S]
F1 S1
F1 S3
F2 S1
F2 S4
仅当 F->S 关系存在于 Tab2 时,才从 TAB1 中取行
结果列[F,S,E]
F1 S1 R
F1 S3 R
F2 S4 R4
我现在有查询,但无法使用 pyspark 获得结果。我能够在 MySql db 上运行。
我尝试在 spark 2.4.3 中使用相关子查询,但这会返回 0 行。
Tab1.createOrReplaceTempView("Tab1")
Tab2.createOrReplaceTempView("Tab2")
joined_df = spark.sql(
"""SELECT F, S, E FROM Tab1
WHERE EXISTS (SELECT * FROM Tab2 WHERE Tab1.F=Tab2.F AND Tab1.S=Tab2.S)"""
)
joined_df.show(10)