IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)

简介: IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)

0x00 教程内容


  1. 新建Scala项目
  2. 编写Scala代码
  3. 打包到服务器执行


实验前提:

a. 安装好了windows本地的scala

b. 安装好了IDEA的scala插件

c. 安装好了JDK


0x01 新建Scala项目


1. 新建Scala项目

a. 新建一个Scala项目,先选择Java,然后在右边选择Scala,配置好解压之后的scala包,其他的默认


image.png


b. 如果有提示,可以随便选一个


image.png


2. 项目配置

a. 右击src,建一个包,比如:com.shaonaiyi

image.png


b. 然后编辑项目结构,加入我们的Scala SDK(找到我们win本地的Scala主目录即可):


image.png


image.png


c. 导入我们的Spark依赖jar包(选择Spark主目录下的jars目录,然后一直OK):


image.png


0x02 编写Scala代码


1. 新建Scala类

a. 右击包名:com.shaonaiyi,创建Scala Class,然后选择Kind为Object


image.png


2. 编写WordCount代码

a. 修改Wordcount类为:


package com.shaonaiyi
import org.apache.spark.SparkContext
object Wordcount {
  def main(args: Array[String]): Unit = {
    var sc = new SparkContext("local[2]","Wordcount")
    var file = sc.textFile("spark-wc.iml")
    var wordRDD = file.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).sortBy(_._2)
    wordRDD.foreach(println(_))
  }
}


3. 本地执行

a. 执行代码可以看到统计结果

image.png


0x03 打包到服务器执行


1. 设置打包工程

a. 选择一种类型的包

image.png


c. 排除我们服务器上有的包,即服务器已经有的jar包就不用也把他们打包上去了。


image.png


然后一直ok,执行完,稍等一会可以看到src同级目录下多了个out文件夹。

2. 打包操作

a. 打包


image.png


b. 执行完可以看到out目录有jar包了


image.png


3. 上传服务器并执行

a. 使用XFtp等工具上传jar包和项目下的即可(此处直接上传到~)

spark-wc.jar

spark-wc.iml

到~路径下


b. 启动spark

$SPARK_HOME/sbin/start-all.sh

c. 执行(在jar包当前路径下):

spark-submit spark-wc.jar


注意要配置好spark的环境变量,才可以在任意路径下执行spark-submit操作,此处不再累赘。


0x04 统计结果展示


统计结果:

image.png


0xFF 总结


  1. 本教程不用联网也可以执行Spark案例,此外,一样也可以执行机器学习等案例。
  2. 本教程非常关键,因为网络不好或者是简单的项目,这种传统的方式也是非常简单方便的。
  3. Maven工程版本,请查看教程:IntelliJ IDEA开发Spark案例之WordCount
相关文章
|
12天前
|
Java Maven Spring
【操作宝典】IntelliJ IDEA新建maven项目详细教程
【操作宝典】IntelliJ IDEA新建maven项目详细教程
42 1
|
1天前
|
SQL 分布式计算 Java
IDEA 打包 Spark 项目 POM 文件依赖
这是一个 Maven POM 示例,用于构建一个使用 Spark 与 Hive 的项目,目标是将数据从 Hive 导入 ClickHouse。POM 文件设置了 Scala 和 Spark 的依赖,包括 `spark-core_2.12`, `spark-sql_2.12`, 和 `spark-hive_2.12`。`maven-assembly-plugin` 插件用于打包,生成包含依赖的和不含依赖的两种 JAR 包。`scope` 说明了依赖的使用范围,如 `compile`(默认),`provided`,`runtime`,`test` 和 `system`。
|
6天前
|
SQL Java 数据库连接
IDEA开发插件有哪些值得推荐?
这篇文章介绍了IntelliJ IDEA中的一些高效插件,包括RestfulTool(用于快速定位API)、Translation(便捷的代码翻译工具)、Alibaba Java Coding Guidelines(代码规范检查)、Free MyBatis Tool(增强MyBatis开发体验)和Mybatis Log(SQL日志查看)。此外,还提到了Vue.js插件以及可选装的Grep Console(控制台日志分析)、Maven Helper(解决Maven依赖冲突)和Private Notes(源码注释管理)。作者提醒,虽然插件有用,但过多会影响IDE性能,应注重质量而非数量。
|
12天前
|
JSON Java Maven
IDEA开发过程中常用插件必备
本文介绍了提升IntelliJ IDEA开发效率的几个插件:Codota用于强大代码补全;Auto filling Java call arguments自动填充函数参数,节省手动填充时间;GsonFormat能快速将JSON转换为Java实体类;Rainbow Brackets帮助识别括号所属代码块;Maven Helper提供高效查看和分析Maven依赖树功能;Key Promoter X提醒使用快捷键代替鼠标操作;最后还分享了如何设置背景图片以提升编码心情。
|
12天前
IDEA开发中,类的头位置生成作者时间信息
IDEA开发中,类的头位置生成作者时间信息
|
12天前
|
人工智能 自然语言处理 Java
用智谱 GLM-4大模型开发自己的IDEA插件
V 哥建议研究大模型先从研究开放 API 开始,作为程序员的你觉对不是什么难事,通过研究 API 的过程中,可以让你更加了解大模型的原理,当然想要更深入的理解,需要对开源大模型的源码进行研究,根据个人的技术能力,量力而行。研究 API 是第一步,目前热招的岗位中,就有基于大模型开放 API 做应用开发的,大家可以在招聘站点上具体看看职位要求。
用智谱 GLM-4大模型开发自己的IDEA插件
|
12天前
|
Java Maven Kotlin
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
178 0
|
12天前
|
NoSQL 关系型数据库 MySQL
开发者福音:用IDEA和Iedis2加速Redis开发与调试
开发者福音:用IDEA和Iedis2加速Redis开发与调试
50 0
开发者福音:用IDEA和Iedis2加速Redis开发与调试
|
12天前
|
Java Maven Spring
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)2
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)
42 2
|
12天前
|
Java Maven 开发工具
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)1
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)
29 2

热门文章

最新文章