如何在IDEA中编写Spark程序

环境搭建

  1. 创建Maven项目
  • 添加Spark依赖(在 pom.xml 中):

<dependency>

<groupId>org.apache.spark</groupId>

<artifactId>spark-core_2.12</artifactId>

<version>3.5.0</version>

</dependency>

  1. 配置Scala SDK
  • 在IDEA中安装Scala插件,设置项目SDK为Scala版本(如2.12)

编写第一个Spark程序

  1. 创建Scala类

import org.apache.spark.{SparkConf, SparkContext}

object SparkWordCount {

def main(args: ArrayString): Unit = {

val conf = new SparkConf().setAppName("WordCount").setMaster("local\*")

val sc = new SparkContext(conf)

val text = sc.textFile("input.txt")

val words = text.flatMap(_.split(" "))

val counts = words.map(word => (word, 1)).reduceByKey(_ + _)

counts.saveAsTextFile("output")

sc.stop()

}

}

运行与调试

  • 本地调试:设置 setMaster("local\*") ,直接在IDEA中运行主类。

  • 提交到集群:

  1. 打包项目为JAR(Maven的 package 命令)。

  2. 执行命令:

spark-submit --master yarn --class SparkWordCount /path/to/your.jar hdfs://input.txt

常见问题

  • 依赖冲突:确保Spark和Hadoop版本兼容,使用 provided scope排除冲突依赖。

  • 日志配置:在 src/main/resources 添加 log4j.properties ,简化日志输出。

相关推荐
huangfuyk5 小时前
前端使用Cursor编辑器方面遇到的问题及注意细节
前端·编辑器·ai编程·cursor
Codiggerworld5 小时前
Neovim vs Vim:该不该“跳槽”?
编辑器·vim·跳槽
权、狐妖1 天前
【Vscode安装ESlint插件、下载ESLint包以及他们之间的关系和使用】
ide·vscode·编辑器
摇滚侠1 天前
VScode 需要安装的插件和修改的设置
ide·vscode·编辑器
Molesidy1 天前
【VSCode】VSCode+Claude Code插件+DeepSeek API Key的环境搭建
ide·vscode·编辑器·deepseek·claude code
☆MOON1 天前
Microsoft Visual Studio快捷键大全
编辑器
小贺儿开发2 天前
Unity UGUI 可视化热区编辑与交互系统
unity·编辑器·游戏引擎·交互·工具·适配·ugui
我命由我123452 天前
VSCode - VSCode 自定义折叠区域
前端·javascript·ide·vscode·前端框架·编辑器·js
π同学2 天前
ESP-IDF+vscode开发ESP32第十四讲——UHCI
ide·vscode·编辑器
纪伊路上盛名在2 天前
Vscode LLM备用方案
ide·vscode·编辑器