Spark集群搭建记录 | 云计算[CentOS8] | Scala Maven项目访问Spark(local模式)实现单词计数(下)

简介: step6 创建scala objectstep7 修改pom文件step8 配置项目step9 添加依赖库(Spark的jar包)step10 设置输入路径

step6 创建scala object


src 目录下,我们创建一个scala object

右键src,然后:

ca7aad020c3d4e7d9dd447392d611600.png

在里面写入代码逻辑,具体代码可以参考链接

并根据实际情况对代码进行修改

以上链接源代码:

具体代码根据自己实际情况来进行修改

import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setAppName("wordcount")
    conf.setMaster("spark://主机名:7077")
    val sc = new SparkContext(conf)
    val rdd = sc.textFile("hdfs://主机名:9000/tmp/test.txt")
    .flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
    rdd.saveAsTextFile("hdfs://主机名:9000/tmp/result")
  }
}


step7 修改pom文件


pom.xml文件中加入和自己实际环境适配的依赖:

比如spark-core的话,我们就选择:

0c7337e3d1c7418e86c22588e3f421c3.png


<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.4.0</version>
</dependency>


以上内容要加在<dependencies></dependencies> 之间,<dependencies></dependencies>与<build></build>同“等级”

至于<plugin></plugin>可以根据自己实际情况进行配置


step8 配置项目


右键单击项目:

4148520960f242d2ae6109b5b6e9ff5d.png


选择完成后,在左侧找到scala complier

4a013b03907a4ca096b6eb79983cfcde.png


选择跟自己适配的版本,然后确定关闭

而对于maven的相关配置,也要进行修改,在博文step3中有提及


step9 添加依赖库(Spark的jar包)


按照如下操作:

f2f1832c36ae42e3a7672dc5efd77551.png


在弹框中:

141a3656f221443bb325668c6865fbb5.png


我们需要选择spark安装目录下jars的所有jar包,博主当然是选择/usr/local/spark/jars/下的所有jar包

点击Apply and Close即可,项目结构中也会出现相应的引用库:

d9788913954249748f60b80cddb4f133.png


step10 设置输入路径


因为在代码中难免会涉及到路径,所以说以step6中的代码为例,需要给tmp文件夹赋予必要的权限:

hadoop fs -chmod -R 777 /tmp

并且将自己所需要技术的文件test.txt通过主机名:50070端口的web界面进行上传:

3a14c5c47c2e4e3a9033f15d5260dcf7.png


然后点击:

84885aaa1612410f8e750b71e1702360.png


等个十几秒就好啦~:以下是结果:

d352cb62c29f47b7a303f0e5417943ed.png


ee31982917b249b7a3ca2421e044c2d9.png


e72e91e2b3b041f4b9673d1f97c2c6a1.png


Scala 实现的Spark local模式的配置完成


文章知识点与官方知识档案匹配,可进一步学习相关知识

Java技能树Java概览Maven基础26059 人正在系统学习中


目录
相关文章
|
5月前
|
存储 数据管理 虚拟化
云计算——存储虚拟化简介 与 存储模式及方法
云计算——存储虚拟化简介 与 存储模式及方法
175 0
|
3月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
112 2
|
3月前
|
消息中间件 运维 Java
java医院综合信息管理云HIS系统源码(前后端分离、SaaS模式、云计算)
云HIS系统分为两个大的系统:综合管理系统和业务系统 1、综合管理系统:由运营商、开发商和监管机构使用,用来进行运营管理、运维管理和综合监管。 2、业务系统:由基层医院使用,用来支撑医院各类业务运转。
59 1
|
3月前
|
分布式计算 数据处理 Scala
Spark 集群和 Scala 编程语言的关系
Spark 集群和 Scala 编程语言的关系
30 0
|
4月前
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
|
4月前
|
运维 供应链 Java
Java基于云计算的云HIS源码 云部署模式,可支持多家医院共同使用
本系统集划价收费功能于一体,费别及收费系数的自定义能力,灵活多样的输入方法,简单易学,允许项目在价表中不存在时手工划价,与门诊药房的库存关联,无药报警,集中统一的价表管理,支持医院“一卡通”,集成医疗保险收费项目控制,费用自动分比例,费用按医疗保险政策分段统计等。
36 0
|
5月前
|
消息中间件 运维 前端开发
(云HIS)云医院管理系统源码 SaaS模式 B/S架构 基于云计算技术
v(云HIS)云医院管理系统源码 SaaS模式 B/S架构 基于云计算技术
73 0
|
5月前
|
前端开发 JavaScript 项目管理
C#基于云计算SaaS模式的医学检验云LIS系统全套源码
C#基于云计算SaaS模式的医学检验云LIS系统全套源码
57 0
|
6月前
|
缓存 Java Maven
Idea Maven错误:was cached in the local repository, resolution will not be reattempted until the update
Idea Maven错误:was cached in the local repository, resolution will not be reattempted until the update
214 0
|
6月前
|
Java Maven
Maven错误:was cached in the local repository, resolution will not be reattempted until the update
Maven错误:was cached in the local repository, resolution will not be reattempted until the update