【用IDEA基于Scala2.12.17开发Spark 3.4.1 项目】

目录

使用IDEA创建Spark项目

打开IDEA后选址新建项目

选址sbt选项

配置JDK

debug

解决方案

相关的依赖下载出问题多的话,可以关闭idea,重启再等等即可。

设置sbt依赖

  • 将sbt源设置为国内源
  • 基于sbt添加依赖
    • spark-sql
    • spark-core
shell 复制代码
ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "2.12.18"

lazy val root = (project in file("."))
  .settings(
    name := "Spark341Learning",
    idePackagePrefix := Some("cn.lh.spark341"),
    resolvers += "HUAWEI" at "https://mirrors.huaweicloud.com/repository/maven",
    updateOptions := updateOptions.value.withCachedResolution(true),
    libraryDependencies += "org.apache.spark" %% "spark-core" % "3.4.1",
    libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.4.1"
  )

创建Spark 项目结构

新建Scala代码

Spark sql simleapp代码如下:

scala 复制代码
package cn.lh.spark341
package SQL

import org.apache.spark.sql.SparkSession

object SimpleApp {

  def main(args: Array[String]): Unit = {
    //    Spark开发三部曲
    //    step 1: 准备Spark会话 spark sql 会话
    val spark = SparkSession.builder.appName("SimpeApp").master("local[2]").getOrCreate()
    //    step 2:Spark处理逻辑
    val logF = "D:\\Programs\\spark-3.4.1-bin-hadoop3\\README.md"
    val logD = spark.read.textFile(logF).cache()
    val numA = logD.filter(line => line.contains("a")).count()
    val numB = logD.filter(line => line.contains("b")).count()
    println(s"Lines with a: $numA, Lines with b: $numB")
    //    step 3: 关闭Spark会话
    spark.stop()
  }

}

Spark RDD代码如下:

scala 复制代码
package cn.lh.spark341
package RDD

import org.apache.spark.{SparkConf, SparkContext}

object RDDtest1 {

  def main(args:Array[String]): Unit ={
//    Spark RDD开发三部曲
//    step1: 创建SparkContext对象
    val conf = new SparkConf().setAppName("RDDtest1").setMaster("local[2]")
    val sc = new SparkContext(conf)
//    step2: Spark处理逻辑代码
    val data = Array(1,2,3,4,5)
    val distData = sc.parallelize(data)
    val i: Int = distData.reduce((a, b) => a + b)
//    step3:关闭SparkContext对象
    println(i)
    sc.stop()
  }

}

到此,基于Scala2.12.17开发Spark 3.4.1 项目完成。

相关推荐
2501_948106915 小时前
计算机毕业设计之jsp-智慧旅游分享平台
java·开发语言·spark·汽车·课程设计·旅游
浪客川8 小时前
idea 技巧 region 的使用
java·ide·intellij-idea
Yolanda941 天前
【编程工具】关于IDEA的Mark Directory as操作的一点探索记录
java·ide·intellij-idea
大不点wow1 天前
为什么 Spring 更推荐构造器注入,而不是字段 `@Autowired`
java·spring·intellij-idea
ClickHouseDB1 天前
推出 CostBench:一个用于数据仓库成本性能的开放基准
大数据·分布式·spark
独隅2 天前
IntelliJ IDEA 接入多种AI大模型插件全面指南(2026.1 版本)2
java·人工智能·intellij-idea
卓怡学长2 天前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
李昊哲小课2 天前
spark4 集群安装
大数据·hadoop·zookeeper·spark
小小放舟、2 天前
PaiCLI-Demo:从零实现 ReAct Agent + Tool Call
java·后端·intellij-idea·springboot·agent·react·tool call
harmful_sheep2 天前
idea相关设置
java·ide·intellij-idea