Конфигурация Scala для загрузки Spark-Shell с использованием конфигурации TypeSafe

Я пытаюсь загрузить application.conf в искровой оболочке с помощью typeafe-config.

Ниже приведен код и команда spark-shell:

код scala:

import com.typesafe.config.{Config, ConfigFactory}

val config: Config = ConfigFactory.load("application.conf")
val env = config.getString("key.key1")

команды Spark-Shell:

  • spark-shell --jars confing-1.3.4.jar --files application.conf --driver-java-options -Dconfig.file=application.conf (попытка 1)
  • spark-shell --jars confing-1.3.4.jar (attempt 2)

application.conf:

key {

 key1 = "value1"

}

ошибка:

com.typesafe.config.ConfigException$Missing: system properties: No configuration setting found for key 'key'

person Atish    schedule 24.07.2019    source источник
comment
Отвечает ли это на ваш вопрос? Отправьте файл свойств приложения с конфигурацией безопасного типа Spark   -  person Florian Corzilius    schedule 25.03.2020


Ответы (2)


Где присутствует ваш файл conf? Вы пробовали использовать полный путь от корня? Например:

val config: Config = ConfigFactory.load("/<root-path>/application.conf")
person Mukund Sudharsan    schedule 26.06.2020

Вы можете передать файл каждому исполнителю по --files "application.conf" и читать с ConfigFactory.parseFile() как

Вы можете получить файл, переданный --files, с помощью SparkFiles.get

import com.typesafe.config.ConfigFactory
import java.io.File
import org.apache.spark.SparkFiles

val config = ConfigFactory.parseFile(new File(SparkFiles.get("application.conf")))

Это должно загрузить нужную вам конфигурацию.

person koiralo    schedule 24.07.2019
comment
Спасибо, @Shankar. здесь используется путь application.conf к / tmp ..... местоположению в hdfs, которого не существует. Возвращает ошибку: путь не существует - person Atish; 29.07.2019