gpt4 book ai didi

apache-spark - Spark Join 在列中返回空值

转载 作者:行者123 更新时间:2023-12-05 07:49:52 25 4
gpt4 key购买 nike

我竭尽全力试图解决我认为是一个极其简单的问题,但我不确定是否还会发生一些 Spark 巫术。

我有两张 table ,都很小。 表 A 有大约 90K 行,表 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

我想要一张看起来像这样的 table

结果表

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 中的几乎所有 结果值(它应该有大约 90K 行,因为 Table A 有大约 90K行),我在 EF 列中得到了 null 值。

When I save the result of just Table B, I see all the columns and values. When I save the result of just Table A, I see all the columns and values. (i.e I could do a paper and pencil join)

奇怪的是,尽管 ~89K 行在 Result Table< 的 EF 列中有 null,有一些随机加入的值。

有谁知道这是怎么回事,或者我该如何诊断?

最佳答案

您是否尝试过在连接中使用 <=> 而不是 ==?

关于apache-spark - Spark Join 在列中返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36853813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com