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

相关推荐
kooboo china.3 小时前
Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(三)
前端·javascript·css·编辑器·html
东风西巷4 小时前
极光PDF编辑器:高效编辑,轻松管理PDF文档
pdf·编辑器
孙克旭_5 小时前
vscode以管理员身份运行报错
ide·vscode·编辑器
未来之窗软件服务10 小时前
monaco-editor 微软开源本地WEB-IDE-自定义自己的开发工具
开发语言·前端·javascript·编辑器·仙盟创梦ide
Hugo_McQueen12 小时前
vscode 的空格和 tab 设置 与 Rime 自建词库
ide·vscode·编辑器
正经教主17 小时前
【AI平台】n8n入门5:创建MCP服务,及vscode调用MCP测试
ide·vscode·编辑器·mcp·n8n
kooboo china.1 天前
Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(二)
前端·css·编辑器·html·.net
广州华锐视点1 天前
数据编辑器中变量的精妙计算与灵动转换
编辑器
❀͜͡傀儡师1 天前
3D可视化编辑器模版
3d·编辑器