如何使用sbt或者maven编译打包运行

本文介绍了如何安装sbt和Maven,以及如何使用这两个工具对Scala编写的Spark应用程序进行编译打包。详细步骤包括创建Spark应用程序、配置sbt和Maven的项目文件,以及通过spark-submit运行打包后的jar文件。
摘要由CSDN通过智能技术生成

1 安装编译打包工具

1).安装sbt

sbt是一款Spark用来对scala编写程序进行打包的工具,Spark 中没有自带 sbt,需要下载安装
在这里插入图片描述
下载sbt安装包以后,执行如下命令拷贝至 /usr/local/sbt 中:
在这里插入图片描述
接着在 /usr/local/sbt 中创建 sbt 脚本(vim ./sbt),添加如下内容:

// An highlighted block
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"

保存后,为 ./sbt 脚本增加可执行权限:
在这里插入图片描述
最后运行如下命令,检验 sbt 是否可用(需要几分钟时间)(请确保电脑处于联网状态,首次运行会处于 “Getting org.scala-sbt sbt 0.13.11 …” 的下载状态,请耐心等待。笔者等待了 7 分钟才出现第一条下载提示):

在这里插入图片描述
只要能得到如下图的版本信息就没问题:
在这里插入图片描述

2). 安装Maven

下载到Maven安装文件以后,保存到“~/下载”目录下。然后,可以选择安装在“/usr/local/maven”目录中,命令如下:

// An highlighted block
$ sudo  unzip  ~/下载/apache-maven-3.3.9-bin.zip  -d  /usr/local
$ cd  /usr/local
$ sudo  mv  ./apache-maven-3.3.9  ./maven
$ sudo  chown  -R  hadoop  ./maven

在终端中执行如下命令创建一个文件夹 sparkapp 作为应用程序根目录:
在这里插入图片描述
在 ./sparkapp/src/main/scala 下建立一个名为 SimpleApp.scala 的文件,添加代码如下
在这里插入图片描述

2 编写Spark应用程序代码

该程序计算 /usr/local/spark/README 文件中包含 “a” 的行数 和包含 “b” 的行数。代码第8行的 /usr/local/spark 为 Spark 的安装目录,如果不是该目录请自行修改。

不同于 Spark shell交互式环境(P99),独立应用程序需要通过 val sc = new SparkContext(conf) 初始化 SparkContext,SparkContext 的参数 SparkConf 包含了应用程序的信息。

3 编译打包

-1. 使用sbt对Scala 程序进行编译打包

请在./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”
Spark和Scala的版本信息可以在启动信息中找到
在这里插入图片描述
为保证 sbt 能正常运行,先执行如下命令检查整个应用程序的文件结构:
在这里插入图片描述
文件结构应如下图所示:
在这里插入图片描述
接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包 ):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值