如何在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: Array[String]): 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 ,简化日志输出。

相关推荐
雷羿 LexChien2 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
不知所云,13 小时前
3. lvgl 9.3 vscode 模拟环境搭建 lv_port_pc_vscode-release-v9.3
ide·vscode·编辑器·c·sdl·lvgl vscode·lvgl模拟器
淡漠的蓝精灵15 小时前
【2025】Sublime Text 4安装教程保姆级一键安装教程(附安装包)
其他·编辑器·sublime text
yanjiee1 天前
需要scl来指定编译器的clangd+cmake在vscode/cursor开发环境下的配置
ide·vscode·编辑器
hero_heart2 天前
vscode中c_cpp_properities.cpp文件生成和作用
ide·vscode·编辑器
FrostedLotus·霜莲2 天前
C++主流编辑器特点比较
开发语言·c++·编辑器
DO ITNOW2 天前
Cursor/VScode ,点击运行按钮,就打开新的终端,如何设置为在当前终端运行文件而不是重新打开终端----一招搞定篇
ide·vscode·编辑器
小妖6662 天前
若 VSCode 添加到文件夹内右键菜单中显示
ide·vscode·编辑器
freshman_y2 天前
VSCode遇到的一些小毛病(自动保存、运行后光标不再处于编辑区)
ide·vscode·编辑器
死也不注释3 天前
【Unity 编辑器工具开发:GUILayout 与 EditorGUILayout 对比分析】
unity·编辑器·游戏引擎