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]# 

完美呈现~~

目录
打赏
0
0
0
0
10
分享
相关文章
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
128 79
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
297 6
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
133 2
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
107 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
267 2
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
235 1
Hadoop生态系统概览:从HDFS到Spark
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由多个组件构成,旨在提供高可靠性、高可扩展性和成本效益的数据处理解决方案。本文将介绍Hadoop的核心组件,包括HDFS、MapReduce、YARN,并探讨它们如何与现代大数据处理工具如Spark集成。
517 0
《Spark与Hadoop大数据分析》——3.7 小结
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.7节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1133 0
《Spark与Hadoop大数据分析》——3.6 Spark 资源管理器:Standalone、YARN和Mesos
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.6节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2711 0

热门文章

最新文章