Pyspark 比较两个不同长度的列
我正在使用两个pyspark数据帧,每一个都有一列。一个有3行(ColumnA),另一个有100行(ColumnB)。 我想将ColumnA的所有行与ColumnB的每一行进行比较。(我需要知道a列中是否有任何日期大于B列中的日期,如果是,请加上X列a 1) 如有任何建议,将不胜感激。谢谢大家!Pyspark 比较两个不同长度的列,pyspark,pyspark-dataframes,Pyspark,Pyspark Dataframes,我正在使用两个pyspark数据帧,每一个都有一列。一个有3行(ColumnA),另一个有100行(ColumnB)。 我想将ColumnA的所有行与ColumnB的每一行进行比较。(我需要知道a列中是否有任何日期大于B列中的日期,如果是,请加上X列a 1) 如有任何建议,将不胜感激。谢谢大家! 交叉连接是一种解决方案- 例如— from pyspark.sql.types import * from pyspark.sql.functions import * A = [11
交叉连接是一种解决方案- 例如—
from pyspark.sql.types import *
from pyspark.sql.functions import *
A = [11, 2, 13, 4]
B = [5, 6]
df = spark.createDataFrame(A,IntegerType())
df1 = spark.createDataFrame(B,IntegerType())
df.select(col("value").alias("A")).crossJoin(df1.select(col("value").alias("B"))).withColumn("C",when(col("A") > col("B"),1).otherwise(0)).select("A","B","C").show()
+---+---+---+
| A| B| C|
+---+---+---+
| 11| 5| 1|
| 11| 6| 1|
| 2| 5| 0|
| 2| 6| 0|
| 13| 5| 1|
| 13| 6| 1|
| 4| 5| 0|
| 4| 6| 0|
+---+---+---+
请展示你已经尝试过的东西