Похоже, вы хотите проверить, находится ли значение в одной таблице в другой таблице.Правда?Я использую СОЕДИНЕНИЯ для этого.Вот пример pyspark.
from pyspark.sql.types import *
custSchema = StructType([
StructField("cust_id", IntegerType())
])
productDF = spark.createDataFrame([(1,),
(2,),
(3,)
], schema=custSchema)
productDF.createOrReplaceTempView("tab_product")
customerDF = spark.createDataFrame([(2,),
(3,),
(4,)
], schema=custSchema)
customerDF.createOrReplaceTempView("tab_cust")
spark.sql("""
SELECT tab_product.cust_id, nvl2(tab_cust.cust_id, 'Eligible', 'Not Eligible') as Eligibility
FROM tab_product LEFT OUTER JOIN tab_cust
ON tab_product.cust_id = tab_cust.cust_id
""").show()
дает:
+-------+------------+
|cust_id| Eligibility|
+-------+------------+
| 1|Not Eligible|
| 3| Eligible|
| 2| Eligible|
+-------+------------+