03wordcount案例(代码片段)

一条coding 一条coding     2022-12-13     512

关键词:

大家好,我是一条~

5小时推开Spark的大门,第三小时,带大家做一个大数据入门的经典案例——WordCount。

话不多说,开干!

题目描述

WordCount,顾名思义,统计文件中不同单词出现的次数,一般在日志分析中经常会用到。

一条在学习Hadoop时做的一个项目是分析金庸小说中的人物关系,那要做的第一步就是统计各个人物出现的次数。

案例分析

如果让你用Java来实现这个需求,相信大家都会有思路。

  • 分词:把长句子分成单词,如果是规范的文本,可以用空格分割,不规范的文本,可以用jieba分词,感兴趣的同学可以百度了解一下。
  • 分组计数:相同的单词一组,计算出现的次数,并用一个map的保存。
  • 保存结果:将结果写入文件。

案例实现

1.本地实现

打开上一节建的WordCount.scala文件,编辑如下代码,每行都有注释,对Scala不熟悉的同学先不要纠结语法问题,我们的重点是Spark。

object WordCount 
  def main(args: Array[String]): Unit = 
    // 创建 Spark 运行配置对象
    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount")
    // 创建 Spark 上下文环境对象(连接对象)
    val sc  = new SparkContext(sparkConf)
    // 读取文件
    var input=sc.textFile("src/main/java/test.txt");
    // 分词
    var lines=input.flatMap(line=>line.split(" "))
    // 分组计数
    var count=lines.map(word=>(word,1)).reduceByKey(x,y)=>x+y
    // 打印结果
    count.foreach(println)
    //关闭 Spark 连接
    sc.stop()
  

注意文件存放的路径,保证能读取到文件。

输出结果

2.提交到服务器

打包成jar包,上传到服务器,记得修改成服务上的文件路径。

#启动master
./sbin/start-master.sh
#启动worker 
./bin/spark-class org.apache.spark.deploy.worker.Worker spark://VM-24-10-centos:7077
#提交作业
./bin/spark-submit  --master spark://VM-24-10-centos:7077 --class WordCount /data/opt/spark/file/spark-wordcount-1.0-SNAPSHOT.jar

输出结果

最后

ok,一个经典的入门案例我们已经完成了,是不是觉得Spark也没那么难。

但是,不知道同学们有没有如下疑问:

  • Spark内部是如何组合计数的?
  • Worker和Master是什么关系?
  • RDD是什么东西?

如果有,请坚持打卡,明后两天将会解答大家的疑惑,填坑——Spark核心编程。

spark案例——wordcount(代码片段)

local本地模式添加pom依赖<properties><scala.version>2.12.0</scala.version></properties><dependencies><dependency><groupId>org.scala-lang</groupId><artifactId& 查看详情

spark案例——wordcount(代码片段)

local本地模式添加pom依赖<properties><scala.version>2.12.0</scala.version></properties><dependencies><dependency><groupId>org.scala-lang</groupId><artifactId& 查看详情

mapreduce编写wordcount程序代码实现(代码片段)

MapReduce经典案例代码(wordcount)以经典的wordcount为例,通过自定义的mapper和reducer来实现单词计数packagecom.fwmagic.mapreduce;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io. 查看详情

hadoop学习笔记:运行wordcount对文件字符串进行统计案例(代码片段)

我最近使用四台Centos虚拟机搭建了一套分布式hadoop环境,简单模拟了线上上的hadoop真实分布式集群,主要用于业余学习大数据相关体系。其中,一台服务器作为NameNode,一台作为SecondaryNameNode,剩下两台当做Data... 查看详情

03-flink-1.10.1-流处理wordcount(代码片段)

目录1开启一个本地9999的TCP协议端口2编写第一个flink流处理代码3 验证 1开启一个本地9999的TCP协议端口可以自己在linux或者windows里安装nmap-ncat由客户端主动发起连接,一旦连接必须由服务端发起关闭[liucf@node1~]$nc-l99992编写... 查看详情

03-flink-1.10.1-流处理wordcount(代码片段)

目录1开启一个本地9999的TCP协议端口2编写第一个flink流处理代码3 验证1开启一个本地9999的TCP协议端口可以自己在linux或者windows里安装nmap-ncat由客户端主动发起连接,一旦连接必须由服务端发起关闭[liucf@node1~]$nc-l99992编写... 查看详情

spark通过idea远程提交wordcount案例(代码片段)

1.IDEA创建新项目 2.选择Maven 3.创建出新项目 4.打开ProjectStructure 5.添加scala2.11.12  6.新建spark-core目录并设置SourcesRoot 7.解压spark到本地,导入spark的jar包 8.开启集群及Sparkstart-all.sh启动集群,进入到Spark的sbin目录下,通过.... 查看详情

wordcount程序设计思想(代码片段)

MapReduce经典案例wordCount的设计思想Mapper阶段1.我们将MapTask传给我们的文本内容先转换成一行字符串2.根据空格对这一行进行分割,从而形成多个单词3.通过for循环我们将得到一系列<单词,1>这样形式的中间结果4.输出... 查看详情

flink学习day03:flinkdatastream开发(代码片段)

入门案例-wordcount实现参考代码packagecn.itcast.streamimportorg.apache.flink.api.java.tuple.Tupleimportorg.apache.flink.streaming.api.scala.DataStream,KeyedStream,StreamExecutionEnvironment,WindowedStreamimportorg.apache.flink.api.scala._importorg.apache.flink.streaming.api.windowing.time.T... 查看详情

mapreducewordcount案例实操(代码片段)

WordCount案例实操1.本地测试2.提交到集群测试1.本地测试1)需求在给定的文本文件中统计输出每一个单词出现的总次数(1)输入数据ssssclsclsjiaobanzhangxuehadoop(2)期望输出数据banzhang1cls2hadoop1jiao1ss2xue12)需... 查看详情

hadoop经典案例——单词统计(代码片段)

...内容。[root@namenodedata]#viword.txt接着,在HDFS上创建/wordcount/input目录,并将word.txt文件上传至该目录下,具体指令如下所示:[root@namenode/]#hadoopfs-mkdir-p/wordcount/input上述指令是Hadoop提供的进行亡件系统操作的HDFSSh... 查看详情

04-flink-1.10.1-流处理wordcount代码里控制并行度(代码片段)

接续03-flink-1.10.1-流处理WordCount1为什么同一个单词总是在同一个线程里打印输入单词 输出  可见hello这个单词多次输入总是在线程好3里输出这是为什么呢?这是因为flink实际后台是对单词分别做了hash处理,通过观察应该... 查看详情

04-flink-1.10.1-流处理wordcount代码里控制并行度(代码片段)

接续03-flink-1.10.1-流处理WordCount1为什么同一个单词总是在同一个线程里打印输入单词 输出  可见hello这个单词多次输入总是在线程好3里输出这是为什么呢?这是因为flink实际后台是对单词分别做了hash处理,通过观察应该... 查看详情

wordcount(代码片段)

1.项目地址:https://gitee.com/wajp/WordCount2.代码:importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;pub 查看详情

03ssm综合案例之16springsecurity(代码片段)

day03_SSM综合案例一、课程目标1.【理解】SpringSecurity权限框架2.【掌握】使用SpringSecurity进行用户登录3.【掌握】资源权限管理二、SpringSecurity2.1什么是SpringSecuritySpringSecurity的前身是AcegiSecurity,是Spring项目组中用来提供安全认... 查看详情

最全wordcount(代码片段)

WorldCount一,hadoopAPI1,在HDFS上创建/wordcount/input目录,并把word.txt文件上传到该目录下。hadoopfs-mkdir-p/wordcount/inputhadoopfs-put/root/word.txt/wordcount/input2,进入$HADOOP_HOME/share/hadoop/mapreduce/目录 查看详情

wordcount(代码片段)

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.IO;namespaceWordCountclassProgramstaticvoidMain(string[]args)Typetype=newType() 查看详情

案例-03下载(代码片段)

需求分析页面显示超链接点击超链接后弹出下载提示框完成图片文件下载分析在前端页面点击标签通过href进行获取链接指向的来源。超链接指向的资源如果能够被浏览器解析,则直接在浏览器中展示如果不能解析,则弹... 查看详情