diff --git a/src/main/scala/com/yahoo/bullet/spark/BulletSparkStreamingMain.scala b/src/main/scala/com/yahoo/bullet/spark/BulletSparkStreamingMain.scala index 5e9fb14..daff3c1 100644 --- a/src/main/scala/com/yahoo/bullet/spark/BulletSparkStreamingMain.scala +++ b/src/main/scala/com/yahoo/bullet/spark/BulletSparkStreamingMain.scala @@ -6,11 +6,28 @@ package com.yahoo.bullet.spark import com.yahoo.bullet.spark.utils.BulletSparkConfig +import joptsimple.OptionParser object BulletSparkStreamingMain { + val CONFIGURATION_ARG = "bullet-spark-conf" + val HELP_ARG = "help" + val PARSER: OptionParser = new OptionParser() { + { + accepts(CONFIGURATION_ARG, "An optional configuration YAML file for Bullet Spark") + .withOptionalArg() + .describedAs("Configuration file used to override Bullet Spark's default settings") + accepts(HELP_ARG, "Show this help message") + .withOptionalArg() + .describedAs("Print help message") + allowsUnrecognizedOptions() + } + } + def main(args: Array[String]): Unit = { + val options = PARSER.parse(args: _*) + val bulletSparkConfigPath = options.valueOf(CONFIGURATION_ARG).asInstanceOf[String] val job = new BulletSparkStreamingBaseJob() - val config = new BulletSparkConfig() + val config = new BulletSparkConfig(bulletSparkConfigPath) val ssc = job.getOrCreateContext(config) ssc.start() ssc.awaitTermination()