ToB企服应用市场:ToB评测及商务社交产业平台

标题: 用IDEA开发基于Spark3.4.1和Scala2.12.18的Spark项目标sbt方式配置,超详细 [打印本页]

作者: 梦见你的名字    时间: 2024-12-24 08:43
标题: 用IDEA开发基于Spark3.4.1和Scala2.12.18的Spark项目标sbt方式配置,超详细
注:本次我用到的Scala版本为Scala2.12.18版本,Spark版本为3.4.1版本,IDEA版本为IntelliJ IDEA 2019.2.3 x64版本(IDEA版本如果是别的的版本的话,大概有些许地方不一样,但都是同样的原理) 
下载安装Scala2.12.18
The Scala Programming Language
打开上面的网址,点击install

跳转后找到下图所示的地方点进去 

找到Scala2.12.18版本点进去

下滑找到Windows平台的zip包下载

下载下来解压到恣意一个地方,最好是放在此处之后不再移动,由于要配环境变量,移动了后要重新配环境变量

如果是Win11体系请打开设置照下面的次序点进去

在用户变量里点击新建(要配置体系变量也行,同样的操作)

找下面图中的内容输入变量名,点击浏览目次,到解压的目次的bin文件夹地点的同级路径下点击确定再确定 


点击Path点编辑

点击新建,加入如图所示内容,点击确认、确认再确认即可

win+R输入cmd回车,在下令框输入scala -version回车,出现如图情况说明成功了(直接键入scala就可以在下令行写scala步伐了,要退出来键入:quit回车即可,scala编程这里就不先容了,感兴趣的可以本身去学习哦)

打开IDEA,新建项目

照下图点击操作

图中的名称、地址本身填,唯独注意的是jdk版本选择本身当前所安装的jdk(建议jdk1.8以上,如果没安装好jdk的请先安装好哦),sbt版本用默认就行(IDEA版本和我一样的就像我一样即可),scala版本选择2.12.18版本,最后点击finally

进去后等候构建成功

配置sbt依赖
这里只演示基于sbt添加spark-sql和spark-core依赖,别的的依赖本身添加即可
展开项目,在build.sbt文件里配置

添加如下配置,此中包罗了将国外源改为国内的阿里源,然后点击如图所示位置下载依赖

  
  1. name := "SparkSbt"
  2. version := "0.1"
  3. scalaVersion := "2.12.18"
  4. lazy val root = (project in file("."))
  5.   .settings(
  6.     // 指定国内源
  7.     resolvers += "central" at "https://maven.aliyun.com/repository/public",
  8.     // 屏蔽默认的maven central源
  9.     externalResolvers := Resolver.combineDefaultResolvers(resolvers.value.toVector, mavenCentral = false),
  10.     updateOptions := updateOptions.value.withCachedResolution(true),
  11.     libraryDependencies += "org.apache.spark" %% "spark-core" % "3.4.1",
  12.     libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.4.1"
  13.   )
复制代码
等候成功即可

创建Spark项目结构如下,一般在scala下创建包,再在包中创建Spark项目

在创建好的包下创建项目


代码测试,写好后点一下代码界面,右键点运行

  
  1. package Test
  2. import org.apache.spark.{SparkConf, SparkContext}
  3. object RDD {
  4.   def main(args:Array[String]): Unit ={
  5.     //创建SparkContext对象
  6.     val conf = new SparkConf().setAppName("RDDtest1").setMaster("local[2]")
  7.     val sc = new SparkContext(conf)
  8.     // Spark处理逻辑代码
  9.     val datas = Array(8,10,3,9,5)
  10.     val distData = sc.parallelize(datas)
  11.     val i: Int = distData.reduce((a, b) => a + b)
  12.     //关闭SparkContext对象
  13.     println(i)
  14.     sc.stop()
  15.   }
  16. }
复制代码
运行如下图,结果正确

至此,教程完毕。 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4