Каким образом конфигурация разделяется / изолируется в Spark SQL?

Итак, у меня есть SC искры контекста, из этого я получаю свой иск SQL контекста,

val sqlContext = new SQLContext(sc)
sqlContext.sql("set spark.sql.shuffle.partitions=2")

Иногда я хочу использовать 2 для случайных разделов, но в некоторые другие моменты (может быть одновременно) я хочу иметь 200. Этот sqlContext является общим для всех моих потоков, как эти свойства изолируют выполнение? Они глобальные?

Спасибо!

1 ответ

Для выделения свойств среди разных исполнений новый SQLContext можно получить, выполнив newSession() для самого SQLContext. Таким образом, все, что вы делаете с вновь созданным контекстом, существует внутри контекста и умирает там.

Другие вопросы по тегам