Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)

简介: Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)

Scala+Spark+Hadoop+IDEA上传并执行任务

本文接续上一篇文章,已经在IDEA中执行Spark任务执行完毕,测试成功。

上文链接:Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例)

一、打包

1.1  将setMaster注释掉

package day05
 
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
 
import scala.collection.mutable
 
/**
  * 打包注意事项:1,将setMaster注释掉
  *             2,不需要打印
  */
object SparkWordCount {
 
  def main(args: Array[String]): Unit = {
    //配置信息类
    //1,setAppName(任务名称) setMaster(表示开启多少个线程运行)
    System.setProperty("hadoop.home.dir", "/usr/local/hadoop-2.7.5")
 
    val conf: SparkConf = new SparkConf().setAppName("SparkWordCount")//.setMaster("local[*]")
 
    //上下文对象
    val sc: SparkContext = new SparkContext(conf)
 
    //读取数据(数据通过数组 args进入)
    val lines: RDD[String] = sc.textFile(args(0))
 
    //处理数据
    val map01: RDD[(String, Int)] = lines.flatMap(_.split(" ")).map((_, 1))
    val wordCount: RDD[(String, Int)] = map01.reduceByKey(_ + _).sortBy(_._2, false)
 
    val wcToBuffer: mutable.Buffer[(String, Int)] = wordCount.collect().toBuffer
//    println(wcToBuffer)
    sc.stop()
  }
}

1.2 打开 clear 并打包

(1)工具栏-->view-->Tool Buttons(右侧出现 Maven Project)

(2)双击clean

(3)双击package

打包结果:(出现target、连个jar包)

注意:如果出现ClassNotFound 并且出现了只有一个Jar包的话,就将其他的没有用的类删掉,只留下当前类。

1.3 拷贝生成的Jar包

二、上传

2.1 将Jar包拷贝到指定目录下(我这儿将scala02-1.0-SNAPSHOT.jar改名为 swc.jar)

/root/swc.jar

2.2 在spark中运行

./bin/spark-submit --class day05.SparkWordCount --master spark://centos01:7077 --executor-memory 1g --total-executor-cores 2 /root/swc.jar hdfs://centos01:9000/ws hdfs://centos01:9000/outp

–class设定的是程序的入口点,也就是我们的驱动类,这点和Hadoop MapReduce 程序很相似。

–master是我们设置的master URL,这里官方有详细的参数列表:

  • local:在本地的单线程运行
  • local[k]:在本地多线程运行,运行线程数为K
  • local[*]:在本地多线程运行,尽可能多的线程数量
  • spark://HOST:PORT :连接上spark单点模式运行,端口PORT是提前配置好的,默认端口7077
  • mesos://HOST:PORT :连接上mesos(好像是一种集群支持工具,没有深入研究)
  • yarn :基于Hadoop的yarn运行,集群的位置在 HADOOP_CONF_DIR ,YARN_CONF_DIR这两个变量指定的位置

2.3 从Web ui查看信息是否上传成功。

(1)查看spark任务

(2)查看hdfs 文件上传

(3)通过命令来查看内容。

[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00000
(hello,12)
(java,9)
[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00001
(scala,7)
(new,7)
(work,7)
(python,5)
[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00002
(javaScript,4)
(jvm,4)
(world,3)
[root@centos01 spark-1.6.3-bin-hadoop2.6]# 

完美呈现~~

目录
相关文章
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
88 3
|
1月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
36 1
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
47 1
|
3月前
|
分布式计算 Hadoop Java
Hadoop_MapReduce中的WordCount运行详解
MapReduce的WordCount程序在分布式系统中计算大数据集中单词出现的频率时,提供了一个可以复用和可伸缩的解决方案。它体现了MapReduce编程模型的强大之处:简单、可靠且将任务自动分布到一个集群中去执行。它首先运行一系列的Map任务来处理原始数据,然后通过Shuffle和Sort机制来组织结果,最后通过运行Reduce任务来完成最终计算。因此,即便数据量非常大,通过该模型也可以高效地进行处理。
92 1
|
4月前
|
分布式计算 监控 Hadoop
Hadoop任务执行失败
【7月更文挑战第12天】
121 10
|
5月前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
95 4
|
4月前
|
IDE Oracle Java
day4:JDK、IntelliJ IDEA的安装和环境变量配置
【7月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
215 0
|
4月前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
99 2
|
5月前
|
Linux 开发工具 Windows
在WSL2中安装IntelliJ IDEA开发工具
在WSL2中安装IntelliJ IDEA开发工具
582 2
|
5月前
|
IDE Java Scala
IntelliJ IDEA 2023.3 最新变化2
IntelliJ IDEA 2023.3 最新变化