В Spark есть 3 основных способа указать параметры для SparkConf, используемые для создания SparkContext:
- Как свойства в conf/spark-defaults.conf
- например, строка:
spark.driver.memory 4g
- например, строка:
- Как утверждает искр-оболочка или искра-submit
- например,
spark-shell --driver-memory 4g ...
- например,
- В исходном коде, настроив экземпляр
SparkConf, прежде чем использовать его для созданияSparkContext:- например,
sparkConf.set( "spark.driver.memory", "4g" )
- например,
Однако при использовании spark-shell, SparkContext уже создан для вас к моменту получения приглашения оболочки в переменной с именем sc. При использовании искровой оболочки, как вы используете опцию № 3 в списке выше, чтобы задать параметры конфигурации, если SparkContext уже создан до того, как вы сможете выполнить какие-либо инструкции Scala?
В частности, я пытаюсь использовать сериализацию Kyro и GraphX. Предписанный способ использования Kryo с GraphX заключается в выполнении следующего оператора Scala при настройке экземпляра SparkConf:
GraphXUtils.registerKryoClasses( sparkConf )
Как это сделать при запуске spark-shell?