Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在pysparksql中使用相关子查询_Pyspark_Pyspark Sql_Correlated Subquery_Apache Spark 2.3 - Fatal编程技术网

在pysparksql中使用相关子查询

在pysparksql中使用相关子查询,pyspark,pyspark-sql,correlated-subquery,apache-spark-2.3,Pyspark,Pyspark Sql,Correlated Subquery,Apache Spark 2.3,表1列[F、S、E] F1 S1 R F1 S2 R2 F1 S3 R1 F2 S1 R2 F2 S4 R4 F1 S4 R F1 S1 R F1 S3 R F2 S4 R4 表2列[F,S] F1 S1 F1 S3 F2 S1 F2 S4 仅当Tab2中存在F->S关系时,才从TAB1中获取行 结果列[F、S、E] F1 S1 R F1 S2 R2 F1 S3 R1 F2 S1 R2 F2 S4 R4 F1 S4 R F1 S1 R F1 S3 R F2 S4 R4 我现在有了这个查

表1列
[F、S、E]

F1 S1 R
F1 S2 R2
F1 S3 R1
F2 S1 R2
F2 S4 R4
F1 S4 R
F1 S1 R
F1 S3 R
F2 S4 R4
表2列
[F,S]

F1 S1
F1 S3
F2 S1
F2 S4
仅当Tab2中存在F->S关系时,才从TAB1中获取行

结果列
[F、S、E]

F1 S1 R
F1 S2 R2
F1 S3 R1
F2 S1 R2
F2 S4 R4
F1 S4 R
F1 S1 R
F1 S3 R
F2 S4 R4
我现在有了这个查询,但是不能用pyspark得到结果。我可以在MySql数据库上运行

我试图在spark 2.4.3中使用corelated子查询,但它返回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)

可能与F1 S3 R1重复。输出中的第二行。为什么是F1 S3 R?