IDEA中scala实现word_count,sbt打jar包,并发送linux中spark运行(sbt打包详细)

本文介绍了如何在IDEA中使用Scala开发一个Word Count应用,通过sbt打包成jar,并在Linux上的Spark环境中运行。详细步骤包括Spark的单机安装、IDEA的Scala工程创建、依赖jar包的添加、sbt打包以及在Linux上运行Spark作业。

0-背景

最近因为业务需求,开始鼓捣下kafka和spark。因为也是第一次做这方面的内容,而且没玩过java和scala。所以这个word count的例子,鼓捣了近两天才出结果。
整个流程如下:首先搭建虚拟机,安装ubuntu。然后在linux中安装spark。最后再本地的IDEA中开发scala,并打包jar包,发送到spark系统中,运行。最后结果如下:
在这里插入图片描述
在这里插入图片描述
下面对其中一些地方,记录下来。

1-spark安装

这里安装的spark是单机版的,不需要安装hadoop,整个安装过程比较简单,没必要在重述一遍了。具体的安装可以百度或者参照这
Linux安装、运行单机版Spark
,或者去官网spark-standalone model

2-IDEA开发

在安装完spark后。在本地安装了IDEA,并且安装了scala。scala是直接在IDEA中安装的。这里面我没有配置scala和sbt,是直接在IDEA中安装的scala,sbt也没管,应该是自带的。有点尴尬,网上有一些安装scala和sbt的教程。这里说明下。整个IDEA的流程,可以参照这里IDEA安装及环境配置(图文)
安装IDEA:
在这里插入图片描述
在这里插入图片描述

### 在 Linux 环境下运行 Spark 代码的方法 要在 Linux 系统中成功运行 Spark 代码,通常需要完成以下几个方面的操作: #### 1. 准备开发环境 为了编写编译 Spark 应用程序,开发者可以选择 Maven 或 SBT 来管理项目依赖项。例如,在构建文件 `build.sbt` 中添加如下依赖关系来引入 Apache Spark 的核心库[^3]。 ```scala libraryDependencies += "org.apache.spark" %% "spark-core" % "3.3.0" ``` 注意版本号应与实际使用的 Spark 版本一致。 #### 2. 构建可执行 JAR 文件 通过 IDE(如 IntelliJ IDEA)或者命令行工具生成含应用程序逻辑的 jar 。如果使用的是 Maven 工程,则可以通过以下步骤打包应用[^2]: - 执行 `mvn clean package` 命令以创建不含外部依赖的 jar 。 - 如果目标环境中缺少某些必要的类库,则需选择带全部依赖的 fat-jar 方式打包。 #### 3. 部署至 Linux 设置参数 将上述生成好的 jar 文件传输到目标服务器上的指定目录,比如 `/opt/module/spark-apps/your-application.jar` 。接着定义好输入输出路径以及其他必要选项后提交作业给集群处理。 对于简单的 Word Count 实例而言,其 shell 脚本可能类似于下面这样: ```bash $SPARK_HOME/bin/spark-submit \ --class com.example.WordCount \ --master local[*] \ /opt/module/spark-apps/wordcount-example-assembly-0.1.jar \ hdfs://namenode:8020/user/data/input.txt hdfs://namenode:8020/user/data/output/ ``` 这里指定了主入口函数所在的全限定名以及采用本地模式作为计算资源调度器;同时还提供了 HDFS 上的数据源位置和结果存储地址等信息。 #### 4. 远程调试 (可选) 当遇到复杂问题难以定位时,可以从 Windows 主机连接至部署有 SparkLinux VM 开启远程会话以便更深入地探查内部状态变化情况。具体做法是在 JetBrains Product Family 下打开对应工程配置窗口新增一项 Remote Debugging Task ,填写主机 IP 地址及监听端口号等相关细节即可建立链接通道[^4]。 以上就是关于如何在基于 Unix-like OS 的机器上面启动由 Scala / Java 编写的分布式大数据框架实例的大致流程概述。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Great1414

整理不易,谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值