用spark实现单词统计
1.在本地运行
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}/*** 用spark实现单词统计*/
object SparkWordCount {def main(args: Array[String]): Unit = {/*** 1.创建sparkConf对象,并设置App名称* 这个conf就是之前学习的MapReduce中的conf的配置* 通过这个conf对集群中的aprk-env.sh文件进行修改* setAppName设置集群的名字,不设置默认即是所产生的一个名字* setMaster设置运行模式,不写默认是提交到集群* 本地:* setMaster("local[2]")* setMaster("local["使用多少个core"]") 设置本地模式* core 值不是是核心,可以当做有多少个线程数,什么都不写或者写 * ,* 那么就相当于系统中有多少个空闲的线程就使用多少个线程*/val conf = new SparkConf().setAppName("SparkWordCount").setMaster("local")//2.创建SparkContext,提交sparkApp的人口val sc = new SparkContext(conf)/*** sc所调用的方法叫做算子,算子有两种:* transformation[只能计算没有结果] 和 action(触发得到结果)* 什么是RDD,transformation,action* RDD--通用数据结果集,想存储数据的方式---集合,数组* 本身不存数据,但是可以把结果集放在那里*///3.获取HDFS上的数据val lines: RDD[String] = sc.textFile("dir/file.txt")//4.将数据进行切分,并压平val words: RDD[String] = lines.flatMap(_.split(" "))//5.遍历当前数据组成二元组(key,1)val tuples: RDD[(String,Int)] = words.map((_,1))//6.进行聚合操作,相同key的value进行相加//hello,1 hello,1val sumed: RDD[(String,Int)] = tuples.reduceByKey(_+_,1)//7.可以对数据进行排序操作,有默认参数true,降序false 就可以val sorted: RDD[(String,Int)] = sumed.sortBy(_._2,false)//8.将数据存储到HDFS上val unit: Unit = sorted.saveAsTextFile("output")//9.回收资源停止sc,结束任务sc.stop()}
}
2.在集群上 面运行
/*** 用spark实现单词统计*/
object SparkWordCount {def main(args: Array[String]): Unit = {/*** 1.创建sparkConf对象,并设置App名称* 这个conf就是之前学习的MapReduce中的conf的配置* 通过这个conf对集群中的aprk-env.sh文件进行修改* setAppName设置集群的名字,不设置默认即是所产生的一个名字* setMaster设置运行模式,不写默认是提交到集群* 本地:* setMaster("local[2]")* setMaster("local["使用多少个core"]") 设置本地模式* core 值不是是核心,可以当做有多少个线程数,什么都不写或者写 * ,* 那么就相当于系统中有多少个空闲的线程就使用多少个线程*/val conf = new SparkConf().setAppName("SparkWordCount")//2.创建SparkContext,提交sparkApp的人口val sc = new SparkContext(conf)/*** sc所调用的方法叫做算子,算子有两种:* transformation[只能计算没有结果] 和 action(触发得到结果)* 什么是RDD,transformation,action* RDD--通用数据结果集,想存储数据的方式---集合,数组* 本身不存数据,但是可以把结果集放在那里*///3.获取HDFS上的数据val lines: RDD[String] = sc.textFile(args(0))//4.将数据进行切分,并压平val words: RDD[String] = lines.flatMap(_.split(" "))//5.遍历当前数据组成二元组(key,1)val tuples: RDD[(String,Int)] = words.map((_,1))//6.进行聚合操作,相同key的value进行相加//hello,1 hello,1val sumed: RDD[(String,Int)] = tuples.reduceByKey(_+_,1)//7.可以对数据进行排序操作,有默认参数true,降序false 就可以val sorted: RDD[(String,Int)] = sumed.sortBy(_._2,false)//8.将数据存储到HDFS上val unit: Unit = sorted.saveAsTextFile(args(1))//9.回收资源停止sc,结束任务sc.stop()}
}
提交
spark-submit
–class SparkWordCount
–master spark://hadoop1:7077
–executor-memory 512m
–total-executor-cores 3
/root/Spark-1.0-SNAPSHOT.jar hdfs://hadoop1:8020/word.txt hdfs://hadoop1:8020/out
区别
用spark实现单词统计相关推荐
- spark 集群单词统计_最近Kafka这么火,聊一聊Kafka:Kafka与Spark的集成
Spark 编程模型 在Spark 中, 我们通过对分布式数据集的操作来表达计算意图 ,这些计算会自动在集群上 井行执行 这样的数据集被称为弹性分布式数据集 Resilient Distributed ...
- 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计
1.启动Spark Shell spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序.要注意的是要启动Spark-S ...
- 大数据阶段划分及案例单词统计
大数据阶段的重要课程划分 离线分析 : hadoop生态圈 HDFS, MapReduce(概念偏多), hive(底层是MapReduce), 离线业务分析80%都是使用hive实时分析 : spa ...
- sparkStreaming流式处理,接受socket数据,实现单词统计并且每个批次数据结果累加
package com.spark.streamingimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} ...
- 从单词统计问题看面试
本文的很多内容来自网络.如有错误,欢迎指出. 问题描写叙述 首先这里对单词的界定是:以空白切割的字符序列. 单词统计的问题能够描写叙述为:在一篇正常格式的英文文档中(作为面试.这里并没有提及中文分词和 ...
- C语言怎么实现单词下落,如何用c语言实现单词统计
如何用c语言实现单词统计 输入一串字符串,输出其中有多少个单词. 代码如下:#include #include #define SIZE 20 int main(){ char str[SIZE]={ ...
- java课程课后作业190502之单词统计续集
第1步:输出单个文件中的前 N 个最常出现的英语单词. 功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列. 功能2: 指定文件目录,对目录下每一个文件执行统 ...
- 运行Hadoop自带的wordcount单词统计程序
1.使用示例程序实现单词统计 (1)wordcount程序 wordcount程序在hadoop的share目录下,如下: 1 2 3 4 5 6 7 8 9 [root@leaf mapreduce ...
- c语言文件加密解密单词统计,C语言文件加密解密及单词统计程序.doc
C语言文件加密解密及单词统计程序.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 高级语言程序设计 课程设计学 院 计算 ...
最新文章
- 零基础代码学python-零基础学Python 超详细教程
- 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout
- Quartz调度原理
- SQL Server 2005参考:Apply运算符
- 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·001 用OpenCV制作数据集
- 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(六):基于github的木马
- 为什么DataGridView不出现滚动条?它的ScrollBars属性我设置为Both了
- java里arcsin_java编程用泰勒级数计算arcsin
- Windows中如何修改Intel网卡的注册表使Wireshark可以抓取802.1q tag包
- 《转贴》机器学习 机器视觉 图像处理 牛人牛站
- 【案例二】小明都可以买什么
- 怎么调整图片大小会不变形?
- 软件测试中的黑盒测试和白盒测试和灰盒测试
- 为什么很多电销公司喜欢用大数据获得资源?
- jQuery 实现弹幕效果案例
- 吉尼斯计算机打字记录,吉尼斯世界纪录打字
- IT选型指南:餐饮连锁企业的信息化之道
- 程序设计职工管理系统
- 那些毕业后去了小县城的人,后来怎么样了?
- Linux系统的性能测试