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

相关推荐
C++ 老炮儿的技术栈1 天前
VSCode -配置为中文界面
大数据·c语言·c++·ide·vscode·算法·编辑器
Tipriest_1 天前
vscode snippet 工程模板文件分享
ide·vscode·编辑器
四荒八极2 天前
WebStorm编辑器侧边栏
编辑器·webstorm
程序猿小D2 天前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
kooboo china.2 天前
JSON 编辑器:从语法到数据处理(二)
编辑器·json
摆渡搜不到你3 天前
Visual Studio Code 1.101.0 官方版
ide·vscode·编辑器
wsdchong之小马过河3 天前
2025虚幻5蓝图编辑器的细节面板调不出来
ue5·编辑器
陶甜也3 天前
vscode界面设置透明度--插件Glasslt-VSC
vscode·编辑器
我命由我123453 天前
VSCode - VSCode 转换英文字母的大小写
开发语言·javascript·ide·vscode·编辑器·html·软件工具
墨雪遗痕3 天前
Packagerun:VSCode 扩展 快捷执行命令
ide·vscode·编辑器