Apache spark 如何使用单调递增的\u id连接两个没有公共列的pyspark数据帧?

Apache spark 如何使用单调递增的\u id连接两个没有公共列的pyspark数据帧?,apache-spark,join,dataframe,pyspark,Apache Spark,Join,Dataframe,Pyspark,我有两个行数相同的pyspark数据帧,但它们没有任何公共列。因此,我将使用单调递增的\u id()作为 但是在联接之后,生成的数据帧的行数较少。 我错过了什么。谢谢你就是不需要。这不是单调递增id的的适用用例,根据定义,这是不确定的。相反: 转换为RDD zipWithIndex 转换回数据帧 加入 如果数据集没有共同点,排序与结果的外观不相关吗?我想说,数据集的排序方式是隐含/隐式连接条件。 from pyspark.sql.functions import monotonically_i

我有两个行数相同的pyspark数据帧,但它们没有任何公共列。因此,我将使用单调递增的\u id()作为

但是在联接之后,生成的数据帧的行数较少。
我错过了什么。谢谢

你就是不需要。这不是单调递增id的
的适用用例,根据定义,这是不确定的。相反:

  • 转换为RDD
  • zipWithIndex
  • 转换回
    数据帧
  • 加入

如果数据集没有共同点,排序与结果的外观不相关吗?我想说,数据集的排序方式是隐含/隐式连接条件。
from pyspark.sql.functions import monotonically_increasing_id as mi
id=mi()
df1 = df1.withColumn("match_id", id)
cont_data = cont_data.withColumn("match_id", id)
cont_data = cont_data.join(df1,df1.match_id==cont_data.match_id, 'inner').drop(df1.match_id)