0

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)
4

0 回答 0