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实现单词统计相关推荐

  1. spark 集群单词统计_最近Kafka这么火,聊一聊Kafka:Kafka与Spark的集成

    Spark 编程模型 在Spark 中, 我们通过对分布式数据集的操作来表达计算意图 ,这些计算会自动在集群上 井行执行 这样的数据集被称为弹性分布式数据集 Resilient Distributed ...

  2. 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计

    1.启动Spark Shell spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序.要注意的是要启动Spark-S ...

  3. 大数据阶段划分及案例单词统计

    大数据阶段的重要课程划分 离线分析 : hadoop生态圈 HDFS, MapReduce(概念偏多), hive(底层是MapReduce), 离线业务分析80%都是使用hive实时分析 : spa ...

  4. sparkStreaming流式处理,接受socket数据,实现单词统计并且每个批次数据结果累加

    package com.spark.streamingimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} ...

  5. 从单词统计问题看面试

    本文的很多内容来自网络.如有错误,欢迎指出. 问题描写叙述 首先这里对单词的界定是:以空白切割的字符序列. 单词统计的问题能够描写叙述为:在一篇正常格式的英文文档中(作为面试.这里并没有提及中文分词和 ...

  6. C语言怎么实现单词下落,如何用c语言实现单词统计

    如何用c语言实现单词统计 输入一串字符串,输出其中有多少个单词. 代码如下:#include #include #define SIZE 20 int main(){ char str[SIZE]={ ...

  7. java课程课后作业190502之单词统计续集

    第1步:输出单个文件中的前 N 个最常出现的英语单词. 功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列. 功能2: 指定文件目录,对目录下每一个文件执行统 ...

  8. 运行Hadoop自带的wordcount单词统计程序

    1.使用示例程序实现单词统计 (1)wordcount程序 wordcount程序在hadoop的share目录下,如下: 1 2 3 4 5 6 7 8 9 [root@leaf mapreduce ...

  9. c语言文件加密解密单词统计,C语言文件加密解密及单词统计程序.doc

    C语言文件加密解密及单词统计程序.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分  高级语言程序设计 课程设计学 院 计算 ...

最新文章

  1. 零基础代码学python-零基础学Python 超详细教程
  2. 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout
  3. Quartz调度原理
  4. SQL Server 2005参考:Apply运算符
  5. 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·001 用OpenCV制作数据集
  6. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(六):基于github的木马
  7. 为什么DataGridView不出现滚动条?它的ScrollBars属性我设置为Both了
  8. java里arcsin_java编程用泰勒级数计算arcsin
  9. Windows中如何修改Intel网卡的注册表使Wireshark可以抓取802.1q tag包
  10. 《转贴》机器学习 机器视觉 图像处理 牛人牛站
  11. 【案例二】小明都可以买什么
  12. 怎么调整图片大小会不变形?
  13. 软件测试中的黑盒测试和白盒测试和灰盒测试
  14. 为什么很多电销公司喜欢用大数据获得资源?
  15. jQuery 实现弹幕效果案例
  16. 吉尼斯计算机打字记录,吉尼斯世界纪录打字
  17. IT选型指南:餐饮连锁企业的信息化之道
  18. 程序设计职工管理系统
  19. 那些毕业后去了小县城的人,后来怎么样了?
  20. Linux系统的性能测试

热门文章

  1. 微信小程序口袋奇兵选服务器,口袋奇兵小程序
  2. 智慧物流信息系统开发需具备哪些功能?
  3. 扫码跳转微信网页 网络出错 轻触屏幕重新加载-1001
  4. 打印机经常没反应的一个解决办法
  5. 分析各渠道广告,建立评分模型以及找到优质渠道的特性
  6. 用html5 Canvas制作一个简单的游戏 英雄抓小怪物(上)
  7. 极流行的四型人格分类,你是哪一种?
  8. 安全狗陈荣有:打造“即开即用”的云原生安全能力
  9. Unity二维平面上物体的移动(十一)-位移和推动力移动的区别
  10. 职场礼仪之西装十大禁忌