2020寒假生活学习日记(三)

安装sbt
sbt是一款Spark用来对scala编写程序进行打包的工具,下载地址https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.11/sbt-launch.jar

下载后,执行如下命令拷贝至 /usr/local/sbt 中:

接着在 /usr/local/sbt 中创建 sbt 脚本(vim ./sbt),添加如下内容:

为 ./sbt 脚本增加可执行权限:

最后运行如下命令,检验 sbt 是否可用

Scala应用程序代码
在终端中执行如下命令创建一个文件夹 sparkapp 作为应用程序根目录:

在 ./sparkapp/src/main/scala 下建立一个名为 SimpleApp.scala 的文件(vim ./sparkapp/src/main/scala/SimpleApp.scala),添加代码如下:

./sparkapp 中新建文件 simple.sbt(vim ./sparkapp/simple.sbt),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系:

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

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

/usr/local/sbt/sbt package

说明成功。

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

遇到的问题:在修改spark版本的时候,由于spark版本是3.0.0-preview2,但是只是改成3.0.0,导致在将整个应用程序打包成 JAR的时候出现错误,找不到版本为3.0.0的spark。

原文地址:https://www.cnblogs.com/jccjcc/p/12255078.html

时间: 2024-10-01 04:30:44

2020寒假生活学习日记(三)的相关文章

2020寒假生活学习日记(二)

使用 Spark Shell 编写代码 启动Spark Shell: 加载txt文件: 简单的RDD操作: //获取RDD文件textFile的第一行内容textFile.first() //获取RDD文件textFile所有项的计数textFile.count() //抽取含有“Spark”的行,返回一个新的RDDval lineWithSpark = textFile.filter(line => line.contains("Spark")) //统计新的RDD的行数lin

2020寒假生活学习日记(四)

安装mavenubuntu中没有自带安装maven,需要手动安装maven. 在终端执行如下命令创建一个文件夹sparkapp2作为应用程序根目录 在 ./sparkapp2/src/main/java 下建立一个名为 SimpleApp.java 的文件(vim ./sparkapp2/src/main/java/SimpleApp.java),添加代码如下: 该程序依赖Spark Java API,因此我们需要通过Maven进行编译打包.在./sparkapp2中新建文件pom.xml(vi

2020寒假生活学习日记(六)

在Windows系统和Linux系统之间互传文件 本教程大量实验都是在Linux虚拟机上完成,因此,需要掌握如何把Windows系统中 的文件上传到Linux系统,以及如何把Linux系统中的文件下载到Windows系统中. 首先,到本教程官网的“下载专区”中的“软件”目录中,下载FTP软件FileZilla的安装 文件FileZilla_3.17.0.0_win64_setup.exe,把FileZilla安装到Windows系统中:然后,请参考 本教程官网“实验指南”栏目的“在Windows

2020寒假生活学习日记(十四)

爬取北京市信件内容: 下载webmagic-0.7-libs.tar.gz压缩包,解压缩.没有压缩包可以加QQ:893225523 通过Filezilla上传到/home/hadoop/下载 sudo tar -zxf ~/下载/webmagic-0.7.3-all.tar.gz -C /data/edu1/ 新建Java Project,命名为 点击项目名pachong1,新建一个目录,命名为libs,并将/data/edu1/webmagic-0.7-libs下的所有的jar包,拷贝到lib

2020寒假在家学习,抗击新型病毒!!!

1月30日 发现了一个非常有意思的博主,她好像也是学习前端的,她的博客不仅有学习体会,还有生活体会,日常感想等等,然后真的写了超级多超级多!!!我突然意识到如果可以像这样将自己的学习.生活记录下来,定时的翻看,也一定会有诸多感悟. 2月1日 今天和爸妈.姐姐弟弟一起上山,山路险阻,光是走一圈就已精疲力竭,但是走路的感觉真的是很爽呀,每天只能呆在家里抗击病毒,心情难免会郁闷.回到家后,从来不午睡的弟弟竟也破天荒睡了一个午觉,真是难得呀.接下来的一个星期我只能靠着5G流量坚强的生活下去QAQ,但我是

Python学习日记(三十四) Mysql数据库篇 二

外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务的名字,很浪费空间;除此之外也能起到一个约束的作用. 像department就是外键. 执行代码: create table t1( uid bigint auto_increment primary key, name varchar(32), department_id int, gender

微信开发学习日记(三):6点经验

1.token验证和微信请求响应token验证,用get方法. 微信请求入口,用psot方法. 一个微信公众号或者轻应用的入口,就是一个url,同一个url分为get和post. get的时候,4个参数都不为空,必须校验. post的时候,也要校验参数,只是不用输出echostr.post的时候,echostr可能为空,是否要检查echostr是否为空呢?既然不用输出,按说不需要校验.2.接口访问凭证access_token每次获得一次凭证,有一定的过期时间.也就是说,可以缓存起来.暂时还没仔细

Python学习日记(三十三) Mysql数据库篇 一

背景 Mysql是一个关系型数据库,由瑞典Mysql AB开发,目前属于Oracle旗下的产品.Mysql是目前最流行的关系型数据库管理系统之一,在WEB方面,Mysql是最好的RDBMS(Relational Database Management System).Mysql是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. 其他类似软件: 关系型数据库:sqllite.db2.Oracle.access.sql se

Python学习日记(三十五) Mysql数据库篇 三

使用Navicate 创建一个连接去使用Mysql的数据库,连接名可以取任意字符但是要有意义 新增一个数据库 填写新数据库名,设置它的字符集和排序规则 新建一个表 增加表中的信息 点击保存再去输入表名完成创建,再添加数据: 使用外键将两表产生联系 再创建一个department表 添加数据: 创建外键,右键userinfo设计表创建外键: 写入SQL语句 点击查询->新建查询 转储SQL文件 将SQL文件进行备份 保存数据和结构 保存结构 使用终端进行转储 保存数据和结构(备份) 保存结构(备份