Загрузка Spark Config для тестирования Spark Applications - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался протестировать приложение spark на моем локальном ноутбуке, прежде чем развертывать его в кластере (чтобы избежать необходимости каждый раз упаковывать и развертывать все приложение), но пытался загрузить конфигурационный файл spark.

Когда я запускаю свое приложение в кластере, я обычно предоставляю приложению конфигурационный файл spark (используя --conf из spark-submit).В этом файле много параметров конфигурации, потому что это приложение взаимодействует с Cassandra и HDFS.Однако, когда я пытаюсь сделать то же самое на своем локальном ноутбуке, я не уверен, как именно загрузить этот файл конфигурации.Я знаю, что, вероятно, могу написать кусок кода, который принимает путь к файлу конфигурации и просто просматривает и анализирует все значения и устанавливает их в конфигурации, но мне просто интересно, есть ли более простые способы.

Текущее состояние:

  • Я поместил нужный файл конфигурации в мой каталог SPARK_HOME / conf и назвал его spark-defaults.conf ---> Это не было применено,однако этот точно такой же файл работает нормально, используя spark-submit
  • . Для локального режима, когда я создаю сеанс spark, я устанавливаю Spark Master как "local [2]".Я делаю это при создании сеанса spark, поэтому мне интересно, возможно ли создать этот сеанс с указанным файлом конфигурации.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Не уверен, поможет ли это кому-нибудь, но я закончил тем, что прочитал файл conf из каталога тестового ресурса и затем установил все значения как системные свойства (скопировал это из Исходного кода Spark):

//_sparkConfs is just a map of (String,String) populated from reading the conf file
for {
  (k, v) ← _sparkConfs
} {
  System.setProperty(k, v)
}

По сути, это в определенной степени эмулирует опцию --properties-file в spark-submit.Сделав это, я смог сохранить эту логику в своей настройке теста, и мне не нужно было изменять существующий код приложения.

0 голосов
/ 04 февраля 2019

Вы добавили флаг --properties-file со значением spark-defaults.conf в вашей IDE в качестве аргумента для JVM?

В официальной документации (https://spark.apache.org/docs/latest/configuration.html) есть постоянная ссылка на ваш файл свойств по умолчанию'. Некоторые параметры не могут быть установлены внутри вашего приложения, потому что JVM уже запущена. И поскольку каталог conf доступен только для чтения через spark-submit, я полагаю, вам нужно явно загружать файл конфигурации при локальном запуске.

Эта проблема обсуждалась здесь: Как использовать опцию spark-submit --properties-file для запуска приложения Spark в IntelliJ IDEA?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...