我在spark中有两个表:
T1
|--x1
|--x2
T2
|--z1
|--z2
我执行以下查询:
select T1.x1, T2.z2 from T1
join T2 on T1.x2 = T2.z1
在结果数据集中,T2.z2中的相同值将乘以许多T1.x1值。
由于此值非常重 - 我担心数据是否实际重复,或者是否存在仅维护引用的内部优化?
答案 0 :(得分:0)
没有涵盖所有可能情况的答案。具体行为取决于因素的数量:
只有第一个项目符号是公共API的一部分,其余部分是内部的,可能因版本而异。
在其余情况下,Spark行为与标准Java / Scala代码没有区别 - 引用只是引用,我不知道在这个空间中有任何优化。