一、sbt介绍
在Spark中,sbt(Scala Build Tool)是一个用于构建Scala项目的工具。它是Spark项目的主要构建工具之一,用于编译Scala代码、管理依赖项、打包应用程序以及执行其他与项目构建相关的任务。
sbt的用途在Spark开发中主要体现在以下几个方面:
-
编译代码:sbt可以编译Scala源代码文件(
.scala
)和Java源代码文件(.java
),生成字节码文件(.class
)。 -
管理依赖:sbt允许你声明项目的外部依赖,并自动下载和解析这些依赖。在Spark项目中,这包括对Spark框架的依赖,以及其他可能使用的库,如Kafka、Hadoop等。
-
打包应用程序:sbt可以创建可运行的JAR包,这些包可以在Spark集群上分发和运行。这对于将Spark应用程序部署到生产环境非常重要。
-
运行和测试:sbt可以运行主类,执行单元测试,以及进行其他与项目相关的任务。
-
插件和扩展:sbt支持插件,这意味着你可以扩展sbt的功能,以满足特定的构建需求。例如,使用sbt-assembly插件来创建一个“胖JAR”(uber JAR),其中包含了项目的所有依赖项。
-
缓存和增量编译:sbt会缓存编译结果,这意味着在后续的构建中,只有更改过的源文件会被重新编译,从而加快构建速度。
-
多项目构建:sbt支持多项目构建,允许你在一个构建配置中管理多个相关项目,这对于大型项目和应用程序来说非常有用。
在Spark项目中,sbt通常与项目的主构建文件 build.sbt
配合使用,该文件定义了项目的元数据、依赖关系和构建配置。通过在sbt的交互式界面中运行命令,或者通过sbt的批处理模式,你可以执行各种构建任务。
二、下载后的安装包sbt-1.9.0.tgz保存在了根目录下
下载链接:Download | sbt (scala-sbt.org)
cd ~
sudo tar -zxvf ./sbt-1.9.0.tgz -C /usr/local
cd /usr/local/sbt
sudo chown -R hadoop /usr/local/sbt # 此处的hadoop为系统当前用户名
cp ./bin/sbt-launch.jar ./ #把bin目录下的sbt-launch.jar复制到sbt安装目录下
三、接着在安装目录中使用下面命令创建一个Shell脚本文件,用于启动sbt:
vim /usr/local/sbt/sbt
该脚本文件中的代码如下:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"
保存后,为该Shell脚本文件增加可执行权限:
chmod u+x /usr/local/sbt/sbt
三、使用如下命令查看sbt版本信息:
cd /usr/local/sbt
./sbt sbtVersion
可以使用如下命令查看sbt版本信息: