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 人正在系统学习中


目录
相关文章
|
1月前
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
40 0
|
1月前
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
82 0
|
1月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
30 0
|
1月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
29 0
|
1月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
29 0
|
1月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
39 0
|
1月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
42 0
|
16天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
48 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
1月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
59 0
|
17天前
|
SQL 机器学习/深度学习 分布式计算
Spark快速上手:揭秘大数据处理的高效秘密,让你轻松应对海量数据
【10月更文挑战第25天】本文全面介绍了大数据处理框架 Spark,涵盖其基本概念、安装配置、编程模型及实际应用。Spark 是一个高效的分布式计算平台,支持批处理、实时流处理、SQL 查询和机器学习等任务。通过详细的技术综述和示例代码,帮助读者快速掌握 Spark 的核心技能。
45 6