Spark程序开发规范

在编写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")

你可能感兴趣的:(【大数据】➣,Spark)