log.info("Starting SparkContext for master {}, interval {} seconds",
streamingMaster, generationIntervalSec);
long blockIntervalMS = TimeUnit.MILLISECONDS.convert(blockIntervalSec, TimeUnit.SECONDS);
SparkConf sparkConf = new SparkConf();
sparkConf.setIfMissing("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
sparkConf.setIfMissing("spark.streaming.blockInterval", Long.toString(blockIntervalMS));
sparkConf.setIfMissing("spark.cleaner.ttl", Integer.toString(20 * generationIntervalSec));
sparkConf.setIfMissing("spark.logConf", "true");
sparkConf.setMaster(streamingMaster);
sparkConf.setAppName("OryxSpeedLayer");
final long batchDurationMS =
TimeUnit.MILLISECONDS.convert(generationIntervalSec, TimeUnit.SECONDS);
final JavaSparkContext sparkContext = new JavaSparkContext(sparkConf);
JavaStreamingContextFactory streamingContextFactory = new JavaStreamingContextFactory() {