Передача sparkSession в качестве параметров функции spark- scala - PullRequest
0 голосов
/ 08 февраля 2020

Я нахожусь в процессе генерации таблиц, используя spark- scala, и я обеспокоен эффективностью.

Может ли прохождение sparkSession замедлить мою программу? Это медленнее, чем SparkSession.getOrCreate?

Я использую пряжу как мастер.

Заранее спасибо.

1 Ответ

0 голосов
/ 08 февраля 2020

Вы можете создать сеанс Spark один раз и обойтись без потери производительности. Однако немного неудобно модифицировать сигнатуру метода для передачи в объект сеанса. Вы можете избежать этого, просто вызвав getOrCreate в функциях, чтобы получить тот же глобальный сеанс, не передавая его. Когда вызывается getOrCreate, он устанавливает текущий сеанс по умолчанию SparkSession.setDefaultSession объявление возвращает его для других getOrCreat вызовов

    val spark : SparkSession = SparkSession.builder
      .appName("test")
      .master("local[2]")
      .getOrCreate()

    //pass in function
    function1(pass)

    //obtain without passing

    def function2(){
    val s = SparkSession.builder..getOrCreate()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...