> 技术文档 > Spark,IDEA编写Maven项目_manve 项目中使用spark

Spark,IDEA编写Maven项目_manve 项目中使用spark

以下是在IDEA中使用Maven构建Spark项目的步骤:
 
一、环境准备
 
1. 安装JDK
 
- 确保IDEA配置了JDK 8+(推荐11+)。
 
2. 安装Maven
 
- 配置Maven环境变量,IDEA中设置Maven路径( File > Settings > Build > Maven )。
 
3. 下载Spark依赖
 
- 无需本地安装Spark,通过Maven引入依赖。
 
二、创建Maven项目
 
1. 新建项目
 
- 在IDEA中选择 Create New Project > Maven > 勾选Create from archetype > 选择 maven-archetype-quickstart ,点击下一步。
 
2. 配置项目信息
 
- 填写GroupId(如 com.example )、ArtifactId(如 spark-demo ),选择存储路径。
 
三、编写 pom.xml 文件
 
添加Spark和Scala依赖(以Spark 3.5.0为例):
 
xml

<project xmlns=\"http://maven.apache.org/POM/4.0.0\"
         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">
    4.0.0
 
    com.example
    spark-demo
    1.0-SNAPSHOT
 
   
   
        2.12.17
        3.5.0
        11
        11
   
 
   
   
       
       
            org.apache.spark
            spark-core_${scala.version}
            ${spark.version}
           
            provided
       
       
       
            org.apache.spark
            spark-sql_${scala.version}
            ${spark.version}
            provided
       
       
       
            org.scala-lang
            scala-library
            ${scala.version}
       
   
 
   
   
       
           
           
                net.alchim31.maven
                scala-maven-plugin
                4.6.4
               
                   
                       
                            compile
                            testCompile
                       
                   
               
           
           
           
                org.apache.maven.plugins
                maven-shade-plugin
                3.4.1
               
                   
                        package
                       
                            shade
                       
                       
                           
                               
                                    *:*
                                   
                                        META-INF/*.SF
                                        META-INF/*.DSA
                                        META-INF/*.RSA
                                   
                               
                           
                           
                               
                                    reference.conf
                               
                               
                                    你的主类路径
                               
                           
                       
                   
               
           
       
   

 
 
四、创建Scala/Java源文件
 
1. 标记源代码目录
 
- 在 src/main 下新建 scala 或 java 目录,右键选择 Mark Directory as > Sources Root。
 
2. 编写Spark应用(Scala示例)
scala
import org.apache.spark.sql.SparkSession
 
object SparkApp {
  def main(args: Array[String]): Unit = {
    // 创建SparkSession(本地模式)
    val spark = SparkSession.builder()
      .appName(\"IDEA Maven Spark Demo\")
      .master(\"local[*]\") // 本地多线程运行
      .getOrCreate()
 
    // 简单示例:读取文本文件
    val df = spark.read.text(\"src/main/resources/test.txt\")
    df.printSchema()
    df.show()
 
    spark.stop()
  }
}
 
 
五、运行与调试
 
1. 本地运行
 
- 直接点击IDEA中的运行按钮, master(\"local[*]\") 会使用本地资源执行。
 
2. 调试
 
- 设置断点,通过IDEA调试功能排查代码问题。
 
3. 打包部署
 
- 执行 mvn clean package 生成JAR包(若使用 shade-plugin ,需确保主类配置正确),上传到Spark集群运行:
bash
spark-submit --class com.example.SparkApp --master yarn ./target/spark-demo-1.0-SNAPSHOT.jar
 
 
注意事项
 
1. 依赖范围(Scope)
 
-  provided 表示依赖仅在开发时使用,部署到集群时需确保集群已安装对应版本的Spark。
 
2. Scala版本兼容
 
- Spark版本与Scala版本需匹配(如Spark 3.5.x对应Scala 2.12/2.13)。
 
3. 日志配置
 
- 可在 src/main/resources 添加 log4j.properties 自定义日志级别。
 
4. 集群部署
 
- 若集群使用HDFS,需将输入/输出路径改为HDFS路径(如 hdfs://nameservice1/input.txt )。