Учитывая, что application.conf является файлом свойств. Есть другая опция, которая может решить ту же цель использования файла свойств.
Не уверен, но файл свойств упаковки с jar может не обеспечить гибкость? Сохраняя файл свойств отдельно от упаковки jar, это обеспечит гибкость, так как всякий раз, когда какие-либо изменения свойств просто заменяют новый файл свойств, а не собирают и разворачивают весь jar.
Этого можно достичь, сохраняя ваши свойства в свойствах файл префикс вашего ключа свойства с «искрой».
spark.inputpath /input/path
spark.outputpath /output/path
Команда Spark Submit будет выглядеть так:
$spark_submit $spark_params $hbase_params \
--class com.abc.xyz.MYClass \
--properties-file application.conf \
$sandbox_jar flagFile/test.FLG
Получение свойств в коде, как,
sc.getConf.get("spark.inputpath") // /input/path
sc.getConf.get("spark.outputpath") // /output/path
Не обязательно это решит вашу проблему. Но здесь просто попробуйте применить другой подход к работе.