sbt安装

news2024/11/25 20:41:51

一、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版本信息:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云管平台-助力企业云管理飞跃发展!

随著信息技术的快速发展,以及企业数字化的快速改革,云计算已经成为企业信息化建设的重要基石。随着企业云计算的快速应用,以及业务的快速发展,如何快速管理各种云,降低云成本等迫在眉睫。在这个背景下,云管…

使用flutter开发一个U盘文件管理APP,只解析图片文件

今天教大家用flutter撸一个U盘文件管理APP,需求是这样的: 当我在Android设备上插入U盘后,我能在APP中打开U盘的文件目录,并且能进入对应目录的下一级目录,如果下级目录下有图片文件,我就对这个图片文件进行解析,并展示出来。 需求了解后,先上个效果图: 效果图看完后,…

springboot如何查看版本号之间的相互依赖

第一种: 查看本地项目maven的依赖: ctrl鼠标左键:按下去可以进入maven的下一层: ctrl鼠标左键:按下去可以进入maven的再下一层: 就可以查看springboot的一些依赖版本号了; 第二种: 还…

# 从浅入深 学习 SpringCloud 微服务架构(十五)

从浅入深 学习 SpringCloud 微服务架构(十五) 一、SpringCloudStream 的概述 在实际的企业开发中,消息中间件是至关重要的组件之一。消息中间件主要解决应用解耦,异步消息,流量削锋等问题,实现高性能&…

经开区创维汽车车辆交接仪式顺利举行,守护绿色出行助力低碳发展

5月10日,“创维新能源汽车进机关”交车仪式于徐州顺利举行,20辆创维EV6 II正式交付经开区政府投入使用。经开区陈琳副书记、党政办公室副主任张驰主任、经开区公车管理平台苑忠民科长、创维汽车总裁、联合创始人吴龙八先生、创维汽车营销公司总经理饶总先…

【计算机毕业设计】基于SSM++jsp的蜀都天香酒楼网站【源码+lw+部署文档+讲解】

目录 摘要 Abstract 目 录 1绪论 1.1研究背景与意义 1.2国内外研究现状 1.3研究内容 1.4论文结构 2相关技术介绍 2.1 B/S模式 2.2 MyEclipse开发环境 2.3 MySQL数据库 2.4 Java语言 2.5 JSP技术 2.6 Tomcat服务器 3系统分析 3.1需求分析 3.2可行性分析 3.2.1经济可行性 3.2.2技…

【MySQL探索之旅】JDBC (Java连接MySQL数据库)

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

机器学习算法 - 逻辑回归

逻辑回归是一种广泛应用于统计学和机器学习领域的回归分析方法,主要用于处理二分类问题。它的目的是找到一个最佳拟合模型来预测一个事件的发生概率。以下是逻辑回归的一些核心要点: 基本概念 输出:逻辑回归模型的输出是一个介于0和1之间的…

容器化Jenkins远程发布java应用(方式二:自定义镜像仓库远程拉取构建)

1.创建maven项目 2.配置git、maven 3.阿里控制台>容器镜像服务>镜像仓库>创建镜像仓库 4.执行shell脚本(推送镜像到阿里云镜像仓库) 使用到登录阿里云仓库命令 #!/bin/bash # 服务名称 SERVER_NAMEplanetflix-app # 镜像tag IMAGE_TAG1.0.0-SN…

每日两题 / 24. 两两交换链表中的节点 25. K 个一组翻转链表(LeetCode热题100)

24. 两两交换链表中的节点 - 力扣(LeetCode) 定义三个指针,交换前先保存ntnt指针为next->next,cur和next两个节点,然后将pre->next指向next 若pre为空,说明当前交换的节点为头两个节点,…

网络相关笔记

IPv4地址 IPv4地址通常以“点分十进制”形式书写,即四个0-255之间的十进制数,各数之间用英文句点(.)分隔,例如:192.0.2.1。总共32位的地址空间可以表示大约42亿个不同的地址。 IPv4地址结构包括&#xff…

金石传拓非遗研学基地 入驻蔚蓝书店

好消息!!! 金石传拓非遗研学基地,正式入驻蔚蓝书店啦!!! “缣竹易销,金石难灭,托以高山,永留不绝。”“金”指的是三代青铜器上的铭文。 “石”指的是石刻、…

PCIE协议-2-事务层规范---事务描述符

2.2.6.1 概览 事务描述符是请求者和完成器之间传输事务信息的机制。事务描述符由三个字段组成: 事务ID:标识未完成的事务属性字段:定义事务的特征流量类别(TC)字段:将事务与所需的服务类型关联起来 图2-…

PG的事务ID回卷逻辑

PG到目前为止使用的事务ID仍然是32位的,在内存计算时虽然已经使用64位事务ID,但是存储在页中tuple仍然使用32位事务ID,这就是说,事务ID回卷仍然是必须处理的问题。 所谓PG事务ID回卷,简单地说,就是在数据库…

LIN协议栈代码解读,纯干货

LIN协议栈概述 当前用的比较多的LIN协议栈,如果不是VECTOR平台的,那就是NXP的LIN协议栈。NXP的协议栈又分为两套,一套是独立工具生成配置文件,即STACK_Package_4.5.9,通过NCFGui生成配置文件,主要用在MC9S…

python数据分析——数据预处理

数据预处理 前言一、查看数据数据表的基本信息查看info()示例 查看数据表的大小shape()示例 数据格式的查看type()dtype()dtypes()示例一示例二 查看具体的数据分布describe()示例 二…

【matlab基础知识代码】(十六)代数方程的图解法多项式型方程的准解析解方法

>> ezplot(exp(-3*t)*sin(4*t2)4*exp(-0.5*t)*cos(2*t)-0.5,[0 5]), line([0 5],[0 0]) 验证 >> t0.6738; >> exp(-3*t)*sin(4*t2)4*exp(-0.5*t)*cos(2*t)-0.5 ans -2.9852e-04 >> ezplot(x^2*exp(-x*y^2/2)exp(-x/2)*sin(x*y)) >> hold on; …

Java数组(如果想知道Java中有关数组的知识点,那么只看这一篇就足够了!)

前言:数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同,Java 语言中提供的数组是用来存储固定大小的同类型元素。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSD…

MOSFET数据手册你会看了吗?

目录 一、功率损耗Power dissipation ​编辑二、结温Junction temperature 三、热阻Thermal resistance 四、寄生电容Cisis/Coss/Crss 五、开关时间 Time 一、功率损耗Power dissipation 功率损耗主要分为两类:静态损耗和动态损耗。静态损耗主要由器件的导通电…

wordpress忘记后台密码,在数据库中修改回来,然后再修改回去。

源地址:https://www.ctvol.com/seoomethods/1421332.html 我们在做wordpess运维的时候,都会遇到很尴尬的时候,有时候在错误运维中,不知道删除了什么东西,造成wordpress后台不能登录,后台页面也直接失效&am…