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月前
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
106 5
|
5月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
77 3
|
5月前
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
83 0
|
5月前
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
133 0
|
5月前
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
93 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
5月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
131 0
|
5月前
|
缓存 分布式计算 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
110 0
|
5月前
|
分布式计算 算法 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
88 0
|
9月前
|
分布式计算 资源调度 Java
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
106 0
|
9月前
|
分布式计算 Hadoop Scala
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
76 0