Я использую typesafe ConfigFactory для загрузки конфигурации в мое приложение scala. Я не хочу включать файлы конфигурации в свою банку, а вместо этого загружаю их из внешней файловой системы hdfs. Однако я не могу найти простой способ загрузить конфигурацию из объекта fsDataInputStream, который я получаю от hadoop:
//get HDFS file
val hadoopConfig: Configuration = sc.hadoopConfiguration
val fs: FileSystem = org.apache.hadoop.fs.FileSystem.get(hadoopConfig)
val file: FSDataInputStream = fs.open(new Path("hdfs://SOME_URL/application.conf"))
//read config from hdfs
val config: Config = ConfigFactory.load(file.readUTF())
Однако это вызывает исключение EOFException. Есть ли простой способ преобразовать объект FSDataInputStream в требуемый java.io.File? Я нашел преобразование из FSDataInputStream в FileInputStream , но это было бы довольно громоздко для такого простого задача.