• JavaSpark | 算子
  • JavaSpark | RDD实战:WordCount
  • JavaSpark | RDD实战:统计网站 pv 和 uv
  • JavaSpark | RDD实战:二次排序
  • JavaSpark | RDD实战:分组top n
  • JavaSpark | SparkSQL | 创建DataSet | UDF与UDAF | 开窗函数

  javaSpark完成单词计数并进行排序的小案例

  • 数据如下:
  • 代码如下:
    package com.shsxt.java;import org.apache.spark.SparkConf;
    import org.apache.spark.api.java.JavaRDD;
    import org.apache.spark.api.java.JavaSparkContext;
    import org.apache.spark.api.java.function.*;
    import scala.Tuple2;import java.util.Arrays;
    import java.util.Iterator;
    import java.util.List;public class TransforationOperator {public static void main(String[] args) {//新建JavaSparkContext执行环境入口对象SparkConf conf = new SparkConf().setAppName("tf-oper").setMaster("local");JavaSparkContext jsc = new JavaSparkContext(conf);//读取数据JavaRDD<String> lineRDD = jsc.textFile("data/word.txt");//单词计数lineRDD.flatMap(new FlatMapFunction<String, String>() {//匿名内部类,可以使用lambda表达式代替@Overridepublic Iterator<String> call(String line) throws Exception {String[] split = line.split(" ");List<String> list = Arrays.asList(split);return list.iterator();}}).mapToPair(new PairFunction<String, String, Integer>() {@Overridepublic Tuple2<String, Integer> call(String word) throws Exception {return new Tuple2<>(word,1);}}).reduceByKey(new Function2<Integer, Integer, Integer>() {@Overridepublic Integer call(Integer v1, Integer v2) throws Exception {return v1 + v2;}}).mapToPair(new PairFunction<Tuple2<String, Integer>, Integer, String>() {@Overridepublic Tuple2<Integer, String> call(Tuple2<String, Integer> tuple1) throws Exception {return new Tuple2<>(tuple1._2,tuple1._1);}}).sortByKey(false).mapToPair(new PairFunction<Tuple2<Integer, String>, String, Integer>() {@Overridepublic Tuple2<String, Integer> call(Tuple2<Integer, String> tuple2) throws Exception {return new Tuple2<>(tuple2._2,tuple2._1);}}).foreach(new VoidFunction<Tuple2<String, Integer>>() {@Overridepublic void call(Tuple2<String, Integer> stringIntegerTuple2) throws Exception {System.out.println(stringIntegerTuple2);}});System.out.println(lineRDD.collect());System.out.println(lineRDD.count());System.out.println(lineRDD.take(3));System.out.println(lineRDD.first());jsc.stop();}
    }

    运行结果如下:

    (hello,4)
    (shsxt,1)
    (tiantian,1)
    (ttttt,1)
    (gzsxt,1)[hello tiantian, hello shsxt, hello gzsxt, hello ttttt]4hello tiantian
    

JavaSpark | RDD实战:WordCount相关推荐

  1. JavaSpark | RDD实战:统计网站 pv 和 uv

    文章目录 1.pv 和 uv 1.1 什么是 PV 值? 1.2 什么是 UV 值? 2. 代码实战 JavaSpark | 算子 JavaSpark | RDD实战:WordCount JavaSp ...

  2. Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)...

    本博文的主要内容是: 1.rdd基本操作实战 2.transformation和action流程图 3.典型的transformation和action RDD有3种操作: 1.  Trandform ...

  3. Spark之RDD实战篇3

    键值对RDD.数据读取与保存.累加器.广播变量: 键值对RDD Spark 为包含键值对类型的 RDD 提供了一些专有的操作 在PairRDDFunctions专门进行了定义.这些 RDD 被称为 p ...

  4. Spark之RDD实战2

    宽窄依赖.DAG RDD相关概念: 依赖 RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency). 窄依赖 窄依 ...

  5. Spark之RDD实战篇

    Spark RDD创建.转换.行动算子.RDD的持久化: RDD编程 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换.经过一系列的transformations定义RDD之 ...

  6. RDD实战电影点评系统案例

    下面的案例中使用的是用户观看电影和点评电影的行为数据,数据来源与网络上的公开数据共有三个数据文件. users.dat UserID::Gender::Age::Occupation::Zip-cod ...

  7. PySpark | RDD

    文章目录 一.RDD详解 1.为什么需要RDD? 2.什么是RDD? 3.RDD的5大特性 4.WordCount案例中的RDD 5.总结 二.RDD编程入门 1.程序入口 SparkContext对 ...

  8. 2018年新春报喜!热烈祝贺王家林大咖大数据经典传奇著作《SPARK大数据商业实战三部曲》 畅销书籍 清华大学出版社发行上市!

    2018年新春报喜!热烈祝贺王家林大咖大数据经典传奇著作<SPARK大数据商业实战三部曲>畅销书籍 清华大学出版社发行上市! 本书基于Spark 2.2.0新版本,以Spark商业案例实战 ...

  9. Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)

    1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...

最新文章

  1. poj1190深搜 生日蛋糕
  2. 学了redis我能拿你做什么
  3. Zigbee 联盟更名为连接标准联盟
  4. 【POJ - 2253】Frogger(floyd,或 部分瓶颈生成树的最大边)
  5. Centos 7 安装 PostgreSQL
  6. 软件工程—实践者的研究方法
  7. oracle导出自增设置,教程方法;oracle中如何设置自增主键电脑技巧-琪琪词资源网...
  8. 抢滩登陆瑞星杀毒2005(转)
  9. MAC微信小视频和图片等在本地保存位置地址
  10. 配备Apple T2 安全芯片的 Mac 机型及T2芯片mac电脑U盘装系统教程
  11. 仿京东或淘宝的订单中心页面
  12. 高数 03.02洛必达法则
  13. ibatis java.util.Map作为parameterClass和resultClass(转)
  14. jsp+ssm计算机毕业设计短视频文案创作平台系统【附源码】
  15. Don‘t make users think
  16. 大数据时代下的智慧育种,百奥云获数千万元Pre-A轮融资
  17. Eclipse RCP开发桌面程序
  18. Poco c ++ 库安装
  19. 区块链+供应链:共建全国统一大市场
  20. 发动机自动熄火控制单元

热门文章

  1. 城乡携手助农 助力乡村振兴
  2. WIN10查看CUDA版本
  3. Lua 变参处理之select函数
  4. 第一周作业(马哥linux)
  5. 用Python将GIF图片转化成手绘图
  6. Java进阶知识 —— Java8 Stream语法
  7. 小蓝在一张无限大的特殊画布上作画。 这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。 小蓝在画布上首先点了一下几个点:(0, 0), (2020, 11), (
  8. android三星note20.6,三星Galaxy Note20系列:凭实力稳坐安卓5G机皇宝座
  9. 初识AI——python编程——工具准备
  10. sqli-labs less 24 POST -Second Oder injection *Real treat* - Stored injections