在编写SparkRDD程序时,经常要将本地开发好的代码,在本地测试完后,要打包成jar,并发布到集群上去跑一跑。这是通过命令行传入参数的友好性提示和规范编码就体现出来了,下面我将整理【Scala语言开发Spark程序的常用模板】
package spark.sparkSQL
object SparkSQLTwitter {
def main(args: Array[String]) {
if (args.length < 2) {
println("Usage inputFile outputFile [spark.sql.inMemoryColumnarStorage.batchSize]")
}
val inputFile = args(0)
val outputFile = args(1)
val batchSize = if (args.length == 3) {
args(2)
} else {
"200"
}
}
对于上面这段程序做简单的说明,首先该程序会判断命令行执行该类时,输入参数的个数以。
其中前两个参数 inputFile outputFile 是必填的,第三个参数[spark.sql.inMemoryColumnarStorage.batchSize] 是选填的。当程序判断第三个参数没有填写时,设置该参数的默认值。
这也就是官方代码中,常规对类输入参数的处理方法,可以采纳到自己编写的程序中。
另外对于SparkRDD程序,有一些代码是每个程序中都必备的,这里我将其整理出来,以备日后参考:
val conf = new SparkConf().setAppName("sparksql").setMaster("local")
val sc = new SparkContext(conf)
sc.setLogLevel("ERROR")