我目前正在根据其在另一个表上的存在来更新表:
前:
数据集A(相对较小,300k行): DepartmentId,EmployeeId,薪水,错误
数据集B(相对庞大,数百万行): DepartmentId,EmployeeId,Salary
逻辑是: 1.如果A中存在A(DepartmentId,EmployeeId)对,那么用B的薪水更新A的工资 2.否则,将消息写入A的错误字段
我现在的解决方案是在A和B上进行左外连接。对于这类问题还有其他更好的做法吗?
提前谢谢!
答案 0 :(得分:4)
为了获得更好的性能,您可以使用@Ram Ghadiyaram提及here的广播哈希联接
广播的数据帧将在所有分区中分发,从而提高加入的效果。
DataFrame join optimization - Broadcast Hash Join
希望这有帮助!