2015-09-07 80 views
0

我是新的火花我有这样星火斯卡拉脚本执行命令

import org.apache.spark.SparkContext 

/** 

* Loading sales csv using DataFrame API 

*/ 

    object CsvDataInput { 
    def main(args: Array[String]) { 


    val sc = new SparkContext(args(0), "Csv loading example") 
    val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
    val df = sqlContext.load("com.databricks.spark.csv", Map("path" -> args(1),"header"->"true")) 

    df.printSchema() 
    df.registerTempTable("sales") 

    val aggDF = sqlContext.sql("select sum(amt),code from sales where tran='CHG' group by amt,code") 

    println(aggDF.collectAsList()) 
    } 

} 

我如何执行该程序中的Cloudera 我有什么命令来使用

我用这个星火脚本命令

./bin/spark-shell --class类名--master本地 “SCRIPTPATH” inputpath

但我没有得到输出。

回答

0

您可以使用spark-submit。例如

./bin/spark-submit --class classname --master local[*] "Scriptpath" inputpath 
+0

Thans当我执行这个程序,我得到了像类的错误不是发现那位execption什么,我要做的是在那里我错过了 –

+0

“inputpath”从你的例子就需要指定的jar文件名。类名必须包含包前缀。运行“jar tf your.jar”以确保你的类实际上在你的jar中。 –

+0

但我想执行脚本不是jar。 另外当我正在复制这个程序时如何创建jar我得到错误,因为这是一个Scala程序。 那么如何创建jar文件 –