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


目录
相关文章
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1222 6
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
557 2
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
968 3
|
Java Scala
Scala 模式匹配
Scala 模式匹配
329 3
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之 Spark Local模式启动报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
330 4
|
12月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
817 3
|
11月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
547 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1689 0
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
473 6

推荐镜像

更多