Scala基础(12)Spark命令参数及独立应用程序

Jayne ·
更新时间:2024-11-13
· 783 次阅读

--master

这个参数表示当前Spark Shell要连接到哪个master,如果是local[*],就是使用本地模式启动spark-shell,其中中括号内的型号表示需要使用几个CPU核心(core),也就是启动几个线程模拟spark集群。

--jars

这个参数用于把相关的JAR包添加到CLASSPATH中,如果有多个jar包,可以使用逗号分隔符连接它们。

比如,要采用本地模式,在4个CPU核心上运行spark-shell

$ cd /usr/local/spark $ ./bin/spark-shell --master local[4]

或者,可以在CLASSPATH中添加code.jar,命令如下:

$ cd /usr/local/spark $ ./bin/spark-shell --master local[4] --jars code.jar

可以执行“Spark-shell --help”命令,获取完整的选项列表,具体如下

$ cd /usr/local/spark $ ./bin/spark-shell --help Spark部署模式 Local模式(单机模式) Standalone模式(使用Spark自带的简单集群管理器) YARN模式(使用YARN作为集群管理器) Mesos模式(使用Mesos作为集群管理器) 编写Spark独立应用程序(有更加具体的安装和使用sbt使用方式)

使用Scala编写的程序需要使用sbt进行编译打包,相应的,Java程序使用Maven编译打包,而Python程序通过spark-submit直接提交。

sbt是一款Spark用来对scala编写程序进行打包的工具

使用scala编写独立应用程序,建议遵循建目录方式:/usr/local/spark/mycode/src/main/scala

使用sbt进行文件打包

具体到代码路径:/sparkapp(mycode)/src/main/scala/SimpleApp.scala

以及对应的sbt打包文件:/sparkapp(mycode)/simple.sbt

打包命令:(打包成功后会出现对应信息)

/usr/local/sbt/sbt package

生成的JAR包的位置:~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar(在mycode一级目录下会生成target和program目录)

通过spakr-submit提交应用程序,该命令格式如下: ./bin/spark-submit --class //需要运行的程序主类,应用程序的入口点 --master // 选择集群还是本地模式 --deploy-mode // 部署模式 ... # other options //其他参数 // 应用程序JAR包 [application-arguments] //传递给主类的主方法参数

最后,我们可以将生成的jar包通过spark-submit提交到Spark中运行了,命令如下:

$ /usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar 2>&1 | grep"Lines with a:" 第一个Spark应用程序:WordCount import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf object WordCount{ def main(args:Array[String]){ val inputFile = "file:///usr/local/spark/mycode/wordcount/word.txt" val conf = new SparkConf().setAppName("WordCount").setMaster("local[2]") val sc = new SparkContext(conf) val textFile = sc.textFile(input) val wordCount = textFile.flatMap(line => line.split("").map(word => (word,1))reduceByKey((a,b) => a+b)) wordCount.foreach(println) }}
作者:KaiwenYu



程序 应用程序 参数 spark Scala

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章