В 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
?