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


目录
相关文章
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
224 5
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
170 3
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
283 0
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
333 0
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
301 0
|
缓存 分布式计算 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
264 0
|
分布式计算 算法 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
244 0
|
8月前
|
人工智能 运维 安全
中企出海大会|打造全球化云计算一张网,云网络助力中企出海和AI创新
阿里云网络作为全球化战略的重要组成部分,致力于打造具备AI技术服务能力和全球竞争力的云计算网络。通过高质量互联网服务、全球化网络覆盖等措施,支持企业高效出海。过去一年,阿里云持续加大基础设施投入,优化海外EIP、GA产品,强化金融科技与AI场景支持。例如,携程、美的等企业借助阿里云实现业务全球化;同时,阿里云网络在弹性、安全及性能方面不断升级,推动中企迎接AI浪潮并服务全球用户。
1247 8
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
在数字化浪潮中,云计算如同一股不可阻挡的力量,推动着企业和个人用户步入一个高效、便捷的新时代。然而,随之而来的网络安全问题也如影随形,成为制约云计算发展的阿喀琉斯之踵。本文将探讨云计算服务中的网络安全挑战,揭示信息保护的重要性,并提供实用的安全策略,旨在为读者呈现一场技术与安全的较量,同时指出如何在享受云服务带来的便利的同时,确保数据的安全和隐私。
264 6
|
存储 人工智能 安全
云计算与网络安全:技术融合与挑战
在数字化时代的浪潮中,云计算和网络安全已成为推动社会进步的两大关键技术。本文将探讨云计算服务的发展,网络安全的重要性,以及信息安全技术的演进。我们将通过实例分析,揭示云服务如何增强数据保护,网络安全措施如何应对新兴威胁,以及信息安全技术的创新如何为企业带来竞争优势。文章旨在为读者提供对云计算和网络安全领域的深入理解,并展示它们如何共同塑造我们的未来。