如何在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 ,简化日志输出。

相关推荐
小智学长 | 嵌入式12 分钟前
SOC-ESP32S3部分:2-2-VSCode进行编译&烧录
ide·vscode·编辑器
Silence4Allen8 小时前
VSCode 插件 GitLens 破解方法
ide·vscode·编辑器
hudawei9961 天前
vscode打开的文件被覆盖/只能打开两个文件(Visual Studio Code)
ide·vscode·编辑器
shylyly_1 天前
Linux环境基础开发工具->vim
linux·运维·编辑器·vim·centos 7·vim配置·底行模式
小新1101 天前
解决vscode在任务栏显示白色图标
ide·vscode·编辑器
梦仔生信进阶1 天前
【VScode】python初学者的有力工具
ide·vscode·编辑器
什么半岛铁盒2 天前
sockaddr结构体详解
编辑器·vim·命令模式
繁依Fanyi2 天前
用 UniApp 开发 TilePuzzle:一个由 CodeBuddy 主动驱动的拼图小游戏
前端·uni-app·编辑器·codebuddy首席试玩官
明似水2 天前
选择合适的AI模型:解析Trae编辑器中的多款模型及其应用场景
人工智能·编辑器
%d%d22 天前
vscode连接WSL卡住
ide·vscode·编辑器