Каким образом конфигурация разделяется / изолируется в Spark SQL?
Итак, у меня есть SC искры контекста, из этого я получаю свой иск SQL контекста,
val sqlContext = new SQLContext(sc)
sqlContext.sql("set spark.sql.shuffle.partitions=2")
Иногда я хочу использовать 2 для случайных разделов, но в некоторые другие моменты (может быть одновременно) я хочу иметь 200. Этот sqlContext является общим для всех моих потоков, как эти свойства изолируют выполнение? Они глобальные?
Спасибо!
1 ответ
Для выделения свойств среди разных исполнений новый SQLContext можно получить, выполнив newSession() для самого SQLContext. Таким образом, все, что вы делаете с вновь созданным контекстом, существует внутри контекста и умирает там.