当我使用Pyspark对spark数据帧执行联接时,我得到了这个奇怪的结果。
我有一个数据框df1
,其中
print(df1.count())
给出
116066151
print(df2.count())
给出
9418101
我像这样执行连接:
df3 = df1.join(df2, on=['SEQ_ID'], how='inner')
在两个数据帧中,SEQ_ID
是公用的。
但是当我进行计数时
print(df3.count())
给出的行数为
2950342258那就是30亿行! 我不是SQL专家,但我假设您进行联接时,联接表中的行数将等于或小于最大联接表中的行数。我阅读了pyspark的join子句,但未提及此内容。 我想念什么吗? 任何见识将不胜感激! 谢谢