JavaSpark | RDD实战:WordCount
- 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相关推荐
- JavaSpark | RDD实战:统计网站 pv 和 uv
文章目录 1.pv 和 uv 1.1 什么是 PV 值? 1.2 什么是 UV 值? 2. 代码实战 JavaSpark | 算子 JavaSpark | RDD实战:WordCount JavaSp ...
- Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)...
本博文的主要内容是: 1.rdd基本操作实战 2.transformation和action流程图 3.典型的transformation和action RDD有3种操作: 1. Trandform ...
- Spark之RDD实战篇3
键值对RDD.数据读取与保存.累加器.广播变量: 键值对RDD Spark 为包含键值对类型的 RDD 提供了一些专有的操作 在PairRDDFunctions专门进行了定义.这些 RDD 被称为 p ...
- Spark之RDD实战2
宽窄依赖.DAG RDD相关概念: 依赖 RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency). 窄依赖 窄依 ...
- Spark之RDD实战篇
Spark RDD创建.转换.行动算子.RDD的持久化: RDD编程 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换.经过一系列的transformations定义RDD之 ...
- RDD实战电影点评系统案例
下面的案例中使用的是用户观看电影和点评电影的行为数据,数据来源与网络上的公开数据共有三个数据文件. users.dat UserID::Gender::Age::Occupation::Zip-cod ...
- PySpark | RDD
文章目录 一.RDD详解 1.为什么需要RDD? 2.什么是RDD? 3.RDD的5大特性 4.WordCount案例中的RDD 5.总结 二.RDD编程入门 1.程序入口 SparkContext对 ...
- 2018年新春报喜!热烈祝贺王家林大咖大数据经典传奇著作《SPARK大数据商业实战三部曲》 畅销书籍 清华大学出版社发行上市!
2018年新春报喜!热烈祝贺王家林大咖大数据经典传奇著作<SPARK大数据商业实战三部曲>畅销书籍 清华大学出版社发行上市! 本书基于Spark 2.2.0新版本,以Spark商业案例实战 ...
- Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)
1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...
最新文章
- poj1190深搜 生日蛋糕
- 学了redis我能拿你做什么
- Zigbee 联盟更名为连接标准联盟
- 【POJ - 2253】Frogger(floyd,或 部分瓶颈生成树的最大边)
- Centos 7 安装 PostgreSQL
- 软件工程—实践者的研究方法
- oracle导出自增设置,教程方法;oracle中如何设置自增主键电脑技巧-琪琪词资源网...
- 抢滩登陆瑞星杀毒2005(转)
- MAC微信小视频和图片等在本地保存位置地址
- 配备Apple T2 安全芯片的 Mac 机型及T2芯片mac电脑U盘装系统教程
- 仿京东或淘宝的订单中心页面
- 高数 03.02洛必达法则
- ibatis java.util.Map作为parameterClass和resultClass(转)
- jsp+ssm计算机毕业设计短视频文案创作平台系统【附源码】
- Don‘t make users think
- 大数据时代下的智慧育种,百奥云获数千万元Pre-A轮融资
- Eclipse RCP开发桌面程序
- Poco c ++ 库安装
- 区块链+供应链:共建全国统一大市场
- 发动机自动熄火控制单元
热门文章
- 城乡携手助农 助力乡村振兴
- WIN10查看CUDA版本
- Lua 变参处理之select函数
- 第一周作业(马哥linux)
- 用Python将GIF图片转化成手绘图
- Java进阶知识 —— Java8 Stream语法
- 小蓝在一张无限大的特殊画布上作画。 这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。 小蓝在画布上首先点了一下几个点:(0, 0), (2020, 11), (
- android三星note20.6,三星Galaxy Note20系列:凭实力稳坐安卓5G机皇宝座
- 初识AI——python编程——工具准备
- sqli-labs less 24 POST -Second Oder injection *Real treat* - Stored injections