Я использую Java spark для создания среды приема данных (для загрузки данных из нескольких файлов).Часто мне требуется обрабатывать несколько файлов одновременно, и мне интересно, как лучше всего справиться со сценарием.
У меня для spark.dynamic.allocation.enabled установлено значение True, поэтому в настоящее время я запускаю приложение spark для каждого обрабатываемого файла.
sparkSession = SparkSession.builder()
.config(sparkConf)
.enableHiveSupport()
.getOrCreate();
Я использую приведенную выше строку в моем банкесоздать SparkSession.Каждый раз, когда мне нужно принять файл, я запускаю флягу и создаю новое приложение Spark.
Есть ли недостаток у этого подхода - создает ли спаркконтекст / спарк-сессия накладные расходы?Должен ли я запустить один sparkSession и обработать все мои файлы через этот sparkSession?