Hi, thank you for your interest and welcome to Zeppelin community!
The simplest way to set these properties for Spark is thought Interpreter properties. In "Interpreters" menu pick one that is bided to you notebook (spark or spark-local, or, create a new one) and set them w/ '+' sign. Interpreter will be restarted automatically on 'save' of these settings. This way the lazily auto-injected context `sc` will have all this properties set for you on the first binded notebook run. You are right, once configured SparkContext can not be changed, so for different clusters the best way may be either to have different interpreters (contexts) or if you are using awesome elasticsearch-hadoop then something like this would do the job ``` import org.elasticsearch.spark._ import org.elasticsearch.hadoop.cfg.ConfigurationOptions var esAddr = "" out.saveToEs(Map( ConfigurationOptions.ES_NODES -> esAddr, ConfigurationOptions.ES_RESOURCE -> .... ) )) ``` Alex. On Sun, Sep 13, 2015 at 3:28 AM, Jeff Steinmetz <jeffrey.steinm...@gmail.com > wrote: > What is the approach to set custom properties dynamically for the conf > within a notebook? > > I understand zeppelin already sets up a spark context for you. Once you > have a SparkContext it can’t be changed. > > I may be missing something that the documentation doesn’t mention. > Perhaps something to do with %spark > > Specifically, a native Scala elasticsearch spark source would look like: > > import org.apache.spark.SparkConf val conf = new > SparkConf().setAppName(“sampleapp").setMaster(“local") > conf.set("es.index.auto.create", "true”) > conf.set("es.nodes", "192.168.51.50”) > val sc = new SparkContext(conf) > > There may be times you may want to connect to a different IP for a > different cluster. >