Стратегия объединения Spark SQL - PullRequest
0 голосов
/ 07 ноября 2019

Я знаю, что сравнение стратегий объединения - сложная проблема.

Но в обычных случаях я могу утверждать, что BroadcastHashJoin предпочтительнее, чем ShuffledHashJoin, и ShuffledHashJoin предпочтительнее, чем SortMergeJoin, и SortMergeJoin предпочтительнее, чем BroadcastNestedLoopJoin?

Другими словами, Spark SQL выбирает стратегию объединения на основе этого порядка, если для объединения определена одна стратегия объединения, он просто прекращает поиск оставшихся стратегий.

Если выше указаноПравда, тогда я не понимаю, почему Spark SQL выбирает BroadcastNestedLoopJoin в качестве запасной стратегии. Если обе эти таблицы чрезвычайно велики, как BroadcastNestedLoopJoin может гарантировать успешное выполнение в этой ситуации?

...