[英]PySpark Inner Join producing too many rows?
我在 Jupyter Notebook 中使用 PySpark。 我正在尝试使用 2 个数据集进行内部连接:一个有 2455 行,另一个超过 100 万行。 为什么内部连接会产生这么多行? 当然,它的行数应该少于 <2455? 有人可以给我建议吗?
print(df.count(),len(df.columns))
19725379 90
print(df1.count(),len(df1.columns))
2455 37
df3 = df.join(df1,"ADDRESS1", "inner")
df3.dropDuplicates(subset=['ADDRESS1']).count
print(df3.count(),len(df3.columns))
603050 126
df3 = df.join(df1,"ADDRESS1", "inner")
print(df3.count(),len(df3.columns))
603050 126
不,这不是必须的,举这个例子
df 1 =
+------+------+
| t1 | t2 |
+------+------+
| 1 | A |
| 2 | B |
+------+------+
df 2 =
+------+------+
| t1 | t3 |
+------+------+
| 1 | A2 |
| 2 | B2 |
| 3 | C2 |
| 1 | D2 |
| 2 | E2 |
+------+------+
用您的话来说,带有键“t1”的内部连接的长度必须不超过2,但不能:
关于第一列的内部连接将是:
+------+------+------+
| t1 | t2 | t3 |
+------+------+------+
| 1 | A | A2 |
| 1 | A | D2 |
| 2 | B | B2 |
| 2 | B | E2 |
+------+------+------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.