Какой из них будет работать лучше: широковещательная переменная или широковещательное соединение? - PullRequest
0 голосов
/ 17 марта 2020

Я использую Spark 2.4.1 с Java 8 в моем проекте.

У меня есть сценарий, в котором мне нужно найти другую таблицу / набор данных, который имеет два поля, то есть название страны и страну -code.

В другом потоке данных будет столбец кода страны, мне нужно отобразить соответствующее название страны в целевом / результирующем фрейме данных.

Насколько я знаю, мы можно использовать соединение для достижения вышеизложенного, используя широковещательную переменную и соединение.

Итак, с точки зрения производительности, какой из них лучше здесь? Какой стандарт искры подходит для такого рода сценариев использования?

1 Ответ

1 голос
/ 17 марта 2020

Честно говоря, они должны работать аналогично, поскольку они фактически делают одно и то же.

Может быть очень небольшое преимущество в том, что разрешение по умолчанию на включение вещания возможно, но это, вероятно, зависит от вашей таблицы фактов. размер и общий эффект издержек широковещательной переменной.

Стоит отметить, что широковещательный порог по умолчанию составляет всего 10 МБ, поэтому, если ваша таблица измерений будет больше, вы будете хочу явно использовать подсказку broadcast().

...