Spark TopN
数据格式为:
http://python.cn/wei
http://python.cn/wei
http://java.cn/zhang
http://java.cn/zhang
package spark
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Teacher {def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("FavTeacher").setMaster("local[4]")val sc = new SparkContext(conf)val lines: RDD[String] = sc.textFile("D:\\code\\ip\\teacher.log")val teacherAndOne = lines.map(line => {val teacher = line.split("/").last //该句不是map的返回(teacher, 1) //map方法最后一句话是返回})val reduced: RDD[(String, Int)] = teacherAndOne.reduceByKey(_+_)//聚合val sorted: RDD[(String, Int)] = reduced.sortBy(_._2, false)//降序val reslut: Array[(String, Int)] = sorted.collect()//触发Action执行计算println(reslut.toBuffer)//打印sc.stop()}
}
Spark TopN相关推荐
- HQL写topN、Spark写topN
HQL写topN用窗口函数rank() .row_number().dense_rank() 1.rank(),跳跃排序,假如第一第二相同,那么第三个就是3 select * from( select ...
- SparkCore基础
目录 Spark简介 1 什么是Spark 2 Spark特点 3 Spark分布式环境安装 3.1 Spark HA的环境安装 3.2 动态增删一个worker节点到集群 4 Spark核心概念 5 ...
- 吐血整理50家企业真实大数据面试题!!学长实测,真实面试!!快收藏!
文章目录 前言 京东面试题 58面试题 新浪面试题 搜狐面试题 360面试题 小米面试题 顺丰面试题 OPPO面试题 VIVO面试题 华为面试题 boss直聘面试题 搜狗金融面试题 瓜子二手车面试题 ...
- 数据算法 --hadoop/spark数据处理技巧 --(二次排序问题和TopN问题)
一.二次排序问题. MR/hadoop两种方案: 1.让reducer读取和缓存给个定键的所有值(例如,缓存到一个数组数据结构中,)然后对这些值完成一个reducer中排序.这种方法不具有可伸缩性,因 ...
- Spark分组取TopN
前言 说到分组,我们很快就想到group by,但是如果在分组的基础上进行取TopN,我们很快又想到开窗函数,group by一般和聚合函数搭配使用,那么聚合函数和开窗函数有啥区别呢? 普通的聚合函数 ...
- Spark Core (TopN、mysql写入、读取文件通过RDD结合数据库中的表)练习3套
pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- Spark使用RDD实现分组topN(八种方法)
最近在复习Spark,记录一个使用RDD实现分组topN的方法,一共写了八种,其中有很多地方都是有共性的,我会在代码最后进行总结八种的思路,他们之间的共性以及每一种的优缺点. 以下是样例数据 语文,赵 ...
- [Spark的TopN算法实现]
一.TopN算法 MapReduce中的TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N次运算,这个结果是可以接受的并不会造成 ...
- 《Spark商业案例与性能调优实战100课》第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解
<Spark商业案例与性能调优实战100课>第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解
最新文章
- 基于轮廓调整的SOTA实例分割方法,速度达32.3fps | CVPR 2020
- R语言学习笔记 (入门知识)
- 一封电子邮件的发送和接收的主要步骤
- json ajax
- jzoj3801-[NOIP2014模拟8.23]骰子【数学期望】
- Python、TensorFlow、机器学习、深度学习四件套(附免费下载)
- ResNet到底深不深?
- OLTP与OLAP介绍
- Lua新闻组的其人其事(一)
- Spring Boot Admin Reference Guide
- steam怎么解除共享_如何启用Steam家庭共享(及其功能)
- 液晶显示器的基本知识
- 新巴巴运动网项目需求书_巴巴姆少儿英语项目介绍(613岁)
- vim 怎么显示空格_vi查看空格、制表符等特殊符号
- UiBot If(如果条件成立)
- 【Unity大气散射】GAMES104:3A中如何实现大气散射
- 商品sku规格选择效果,没有商品的不能选中,选择顺序不影响展示结果
- Java实现是否为节假日、工作日判断(调用“http://api.goseek.cn/Tools/holiday”接口)
- echarts 渲染3d地图
- autoDL租用服务器运行程序全过程
热门文章
- Python之进程+线程+协程(生产者消费者模型)
- 什么是Web渗透测试
- Python内置函数iter()语法及应用
- python numpy 技巧
- 嵌入式Linux的QT版本,嵌入式Linux版本Qt5.4快速部署
- mysql创建师徒_[郑州|结业弟子]JAVA-乔兆年|2020年05月09日的日报-技能树.IT修真院...
- mysql 修改这段长度_MySQL中使用group_concat()函数数据被截取(有默认长度限制),谨慎!...
- android datepicker控件,android中控件DatePicker控件-Fun言
- dell屏幕亮度调节不了_?戴尔XPS13 7390笔电测评:10代酷睿加持,屏幕/散热/续航升级...
- mac os 编译android,Mac OS X 编译Android内核源代码