Populate a Case Class from an instance of SparkConf.
Populate a Case Class from an instance of SparkConf. It will attempt to cast the configuration values to the correct types, and most primitive, Option[primitive], and List/Seq/Vector[primitive] types are supported. Default arguments in the case class will also be respected. Option types will not be set to None if they are not specified in the SparkConf unless None is the default value in the case class. The separator for collection types (List,Seq,Vector) is by default "," but can be changed with '@separator("..")' annotation on the parameter in the case class. The parameters keys that are looked up will be of the form: {prefix}{parameter}, e.g. for case class Ex(key: String) and prefix="example.prefix.", then the key will have the form "example.prefix.key"
Case class type to construct
Instance of SparkConf containing KeyValue configuration
Prefix to assign to a Key when looking in SparkConf
An instantiated case class populated from the SparkConf instance and default arguments