Технически возможно обойти это, с осторожным распределением ресурсов и использованием пулов планирования уровня менеджера или даже отдельного менеджера кластера с его собственным набором или ресурсами, но это не то, для чего предназначен Spark, он не поддерживается и в целом приведет к хрупкой и запутанной конструкции, где корректность зависит от деталей конфигурации, выбора конкретного менеджера кластера и общего использования кластера.

у Spark Jobs, которые говорят с Кассандрой в Datastax.

Иногда при выполнении последовательности шагов в задании Spark легче просто получить новый RDD, чем присоединиться к старому.

Вы можете сделать это, позвонивSparkContext [getOrCreate][1] метод.

Теперь иногда в задании Spark возникают опасения, что ссылка на SparkContext может взять большой объект (контекст Spark), который нельзя сериализовать, и попытаться распространить его по сети.

В данном случае - вы регистрируете синглтон для этой JVM, и это решает проблему сериализации.

Однажды ко мне пришел мой технический руководитель и сказал

Не использоватьSparkContext getOrCreate Вы можете и должны использовать соединения вместо

Но он не дал причину.

Мой вопрос:Есть ли причина не использовать SparkContext.getOrCreate при написании искрового задания?

Ответы на вопрос(1)

Ваш ответ на вопрос