Spark加入返回列中的空值

时间:2016-04-26 01:27:25

标签: apache-spark pyspark apache-spark-sql

我拉着我的头发试图解决我觉得这是一个非常简单的问题,但我不确定是否还会发生一些火花伏都教。

我有两张桌子,都非常小。 Table A有大约90K行,Table B大约有2K行。

表A

A  B  C  D
===========
a1 b1 c1 d1
a1 b1 c2 d2
a1 b1 c3 d3
a2 b2 c1 d1
a2 b2 c2 d2
.
.
.

表B

A  B  E  F
===========
a1 b1 e1 f1
a2 b2 e2 f2

我想要一张看起来像

的表格

结果表

A  B  C  D  E  F
=================
a1 b1 c1 d1 e1 f1
a1 b1 c2 d2 e1 f1
a2 b2 c1 d1 e2 f2
.
.
.

我有点宽松,但我的想法是我想加入表格,桌子上的行数越多,行数越多,在最终表格中可以有多个关联值。

这应该很简单:

table_a.join(table_b, table_a.a == table_b.a, table_a.b == table_b.b).select(..stuff..)

然而,对于Result Table中的几乎所有结果值(自Table A以来应该有大约90K行有大约90K行),我得到{{1列nullE中的值。

  

当我保存F的结果时,我会看到所有列和值。   当我保存Table B的结果时,我会看到所有列和值。   (即我可以用纸和铅笔加入)

奇怪的是,即使Table A中的nullE列中有~89K行有F个值,也有一些值会随机加入

有谁知道发生了什么或我如何诊断?

1 个答案:

答案 0 :(得分:0)

你试过< =>在你的加入中代替==?