使用sbt编译打包,spark-submit命令提交的详细步骤

 Spark2.1.0入门:Spark的安装和使用

使用sbt打包Scala程序

该程序依赖 Spark API,因此我们需要通过 sbt 进行编译打包。 请在./sparkapp 中新建文件 simple.sbt(vim ./sparkapp/simple.sbt),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系:

name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"

文件 simple.sbt 需要指明 Spark 和 Scala 的版本。在上面的配置信息中,scalaVersion用来指定scala的版本,sparkcore用来指定spark的版本,这两个版本信息都可以在之前的启动 Spark shell 的过程中,从屏幕的显示信息中找到。下面就是笔者在启动过程当中,看到的相关版本信息(备注:屏幕显示信息会很长,需要往回滚动屏幕仔细寻找信息)。

使用sbt编译打包,spark-submit命令提交的详细步骤_第1张图片

为保证 sbt 能正常运行,先执行如下命令检查整个应用程序的文件结构

cd ~/sparkapp
find .

文件结构应如下图所示:

使用sbt编译打包,spark-submit命令提交的详细步骤_第2张图片SimpleApp的文件结构

接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包 ):

/usr/local/sbt/sbt package

对于刚安装好的Spark和sbt而言,第一次运行上面的打包命令时,会需要几分钟的运行时间,因为系统会自动从网络上下载各种文件。后面再次运行上面命令,就会很快,因为不再需要下载相关文件。
打包成功的话,会输出如下内容:

使用sbt编译打包,spark-submit命令提交的详细步骤_第3张图片

生成的 jar 包的位置为 ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar。

通过 spark-submit 运行程序

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

/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar
#上面命令执行后会输出太多信息,可以不使用上面命令,而使用下面命令查看想要的结果
/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:"

最终得到的结果如下:

Lines with a: 62, Lines with b: 30

自此,你就完成了你的第一个 Spark 应用程序了。

 

实践--使用sbt打包Scala程序

使用sbt编译打包,spark-submit命令提交的详细步骤_第4张图片

使用sbt编译打包,spark-submit命令提交的详细步骤_第5张图片

实践--通过 spark-submit 运行程序

使用sbt编译打包,spark-submit命令提交的详细步骤_第6张图片

 

 

你可能感兴趣的:(大数据-scala的使用,java,linux,python,spark,大数据)