加入PySpark会给出意想不到的结果

时间:2018-05-16 10:11:12

标签: apache-spark join pyspark row-number

我通过加入使用以下代码创建的UNIQUE_ID创建了Spark数据框:

ddf_A.join(ddf_B, ddf_A.UNIQUE_ID_A == ddf_B.UNIQUE_ID_B, how = 'inner').limit(5).toPandas()

使用以下代码在初始数据框中创建UNIQUE_ID (dtype = 'int')

row_number().over(Window.orderBy(lit(1))

通过使用带有两个附加表的内部联接,ddf_A和ddf_B都是从初始数据框创建的子集。通过分别使用UNIQUE_ID_A和UNIQUE_ID_B的别名,在两个数据帧中重命名了UNIQUE_ID。

ddf_A和ddf_B之间内连接的结果(5行)如下所示:

|----|------------------|-------------------|
|    |    UNIQUE_ID_A   |    UNIQUE_ID_B    |
|----|------------------|-------------------|
|  0 |         451123   |         451123    |
|  1 |         451149   |         451149    |
|  2 |         451159   |         451159    |
|  3 |         451345   |         451345    |
|  4 |         451487   |         451487    |
|----|------------------|-------------------|

这对我来说一见钟情。但是,我无法使用以下代码在ddf_A中找到451123:

ddf_A.filter(col('UNIQUE_ID_A') == 451123).show()

你知道这里有什么问题吗?

0 个答案:

没有答案