0. 说明

  在 Spark Shell 实现 Word Count

  RDD (Resilient Distributed dataset), 弹性分布式数据集。

  示意图


  1. 实现

  1.1 分步实现

# step  加载文档
val rdd1 = sc.textFile("file:///home/centos/wc1.txt") # step 压扁
val rdd2 = rdd1.flatMap(line=>{line.split(" ")}) # step 标1成对
val rdd3 = rdd2.map(word=>{(word , )}) # step 聚合
val rdd4 = rdd3.reduceByKey((a:Int,b:Int)=>{a + b}) # step
rdd4.collect()

  

  1.2 一步完成 (reduceByKey)

sc.textFile("file:///home/centos/wc1.txt").flatMap(_.split(" ")).map((_,)).reduceByKey(_+_).collect()

  1.3 一步完成 (groupByKey)

sc.textFile("file:///home/centos/wc1.txt").flatMap(_.split(" ")).map((_,)).groupByKey().mapValues(_.size).collect()


[Spark Core] Spark Shell 实现 Word Count的更多相关文章

  1. 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

    第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...

  2. Spark:java api实现word count统计

    方案一:使用reduceByKey 数据word.txt 张三 李四 王五 李四 王五 李四 王五 李四 王五 王五 李四 李四 李四 李四 李四 代码: import org.apache.spar ...

  3. [Spark Core] Spark 实现气温统计

    0. 说明 聚合气温数据,聚合出 MAX . MIN . AVG 1. Spark Shell 实现 1.1 MAX 分步实现 # 加载文档 val rdd1 = sc.textFile(" ...

  4. [Spark Core] Spark Client Job 提交三级调度框架

    0. 说明  官方文档  Job Scheduling Spark 调度核心组件: DagScheduler TaskScheduler BackendScheduler 1. DagSchedule ...

  5. [Spark Core] Spark 核心组件

    0. 说明 [Spark 核心组件示意图] 1. RDD resilient distributed dataset , 弹性数据集 轻量级的数据集合,逻辑上的集合.等价于 list 没有携带数据. ...

  6. [Spark Core] Spark 使用第三方 Jar 包的方式

    0. 说明 Spark 下运行job,使用第三方 Jar 包的 3 种方式. 1. 方式一 将第三方 Jar 包分发到所有的 spark/jars 目录下 2. 方式二 将第三方 Jar 打散,和我们 ...

  7. 【待补充】[Spark Core] Spark 实现标签生成

    0. 说明 在 IDEA 中编写 Spark 代码实现将 JSON 数据转换成标签,分别用 Scala & Java 两种代码实现. 1. 准备 1.1 pom.xml  <depend ...

  8. [Spark Core] Spark 在 IDEA 下编程

    0. 说明 Spark 在 IDEA 下使用 Scala  & Spark 在 IDEA 下使用 Java 编写 WordCount 程序 1. 准备 在项目中新建模块,为模块添加 Maven ...

  9. shell 实现word count

    awk '{arr[$2]+=$1}END{for (i in arr) print i,arr[i]}' sort_all.txt | sort -k2nr -g

随机推荐

  1. intellij idea 怎么全局搜索--转

    https://jingyan.baidu.com/article/29697b9163ac7dab20de3cbf.html intellij idea是一款智能,功能强大的ide,对比eclips ...

  2. [转]magento性能优化的教程(非常详细)

    本文转自:https://www.sypopo.com/post/kMQE8dERoV/ 前面优化 mod_deflate模块,将text. css 和 javascript 先进行压缩再发送到浏览器 ...

  3. 使用spring security 2.0 和extjs 3.0实现web登录

    使用spring security 2.0 和extjs 3.0实现web登录 1开发环境说明 本例使用MyEclipse 6.5作为开发工具,jdk1.5作为编译工具,tomcat6.0作为web运 ...

  4. 使用JDBC一次执行多条语句(以MySQL为例)

    阅读本文需要的先修知识: 最基本的SQL语句 最基本的JDBC操作(如插入单条记录) 如急需使用请直接看最后一段代码. 在JDBC中,对记录进行修改操作最简单的方法是使用executeUpdate() ...

  5. linux_shell_字符串

    字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号. 但是单引号和双引号是有区别的: 单引号: 单引号里的任何 ...

  6. Codeforces675D(SummerTrainingDay06-J)

    D. Tree Construction time limit per test:2 seconds memory limit per test:256 megabytes input:standar ...

  7. 04-基本的mysql语句

    [转]04-基本的mysql语句 本节课先对mysql的基本语法初体验. 操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 sho ...

  8. JS 创建自定义对象的方式方法

    一.概述 还记得刚开始做项目的时候,看到别人封装的js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到的,今天还是遇到了,就去找了找帖子,重新思考 ...

  9. 洛谷P3313 [SDOI2014]旅行(树链剖分 动态开节点线段树)

    题意 题目链接 Sol 树链剖分板子 + 动态开节点线段树板子 #include<bits/stdc++.h> #define Pair pair<int, int> #def ...

  10. JS中的兼容问题总结

    今天总结总结在JS里面遇到的兼容性问题 1.获取滚动距离的兼容性问题: document.documentElement.scrollTop  ||  document.body.scrollTop ...