《数据算法-Hadoop/Spark大数据处理技巧》读书笔记(二)——TopN列表
2018-01-29 14:33
603 查看
大数据计算力经常要面对TopN的问题,也就是一个大集合里取排序后的前N个数据。
1.Key值唯一
①MapReduce:
在Map中使用SortedMap完成每个节点的TopN操作,然后所有节点将数据汇聚到Reduce节点,再次使用SortedMap完成TopN操作,其中setup()中做初始化工作,map()中构造SortedMap,在cleanup()中将生成的SortedMap输出给reduce。也就是TopN操作也达到分而治之的效果,提高运算效率。
setup()方法在该节点开始计算前调用,cleanup()在该节点map()都计算完之后调用。
②Spark:
在Spark里可以使用MapPartitions来实现近似于MapReduce中setup()和cleanup()的效果。MapPartitions实现了同一数据节点上数据的集中处理。
最后的Top10可以在Driver中对所有返回的List进行归约,也可以在Reduce中归约。
更好的方式可以使用takeOrderd()和top()方法获得TopN
1.Key值唯一
①MapReduce:
在Map中使用SortedMap完成每个节点的TopN操作,然后所有节点将数据汇聚到Reduce节点,再次使用SortedMap完成TopN操作,其中setup()中做初始化工作,map()中构造SortedMap,在cleanup()中将生成的SortedMap输出给reduce。也就是TopN操作也达到分而治之的效果,提高运算效率。
setup()方法在该节点开始计算前调用,cleanup()在该节点map()都计算完之后调用。
②Spark:
在Spark里可以使用MapPartitions来实现近似于MapReduce中setup()和cleanup()的效果。MapPartitions实现了同一数据节点上数据的集中处理。
最后的Top10可以在Driver中对所有返回的List进行归约,也可以在Reduce中归约。
更好的方式可以使用takeOrderd()和top()方法获得TopN
相关文章推荐
- 《数据算法-Hadoop/Spark大数据处理技巧》读书笔记(四)——移动平均
- 《数据算法-Hadoop/Spark大数据处理技巧》读书笔记(一)——二次排序
- 《数据算法-Hadoop/Spark大数据处理技巧》读书笔记(三)——Order Inverse
- 《数据算法-Hadoop/Spark大数据处理技巧》读书笔记(五)——购物篮分析
- mahout demo——本质上是基于Hadoop的分步式算法实现,比如多节点的数据合并,数据排序,网路通信的效率,节点宕机重算,数据分步式存储
- 数据挖掘——概念、模型和算法读书笔记
- 《BIG DATA大数据日知录 架构和算法》读书笔记
- O'Reilly精品图书推荐:数据算法:Hadoop/Spark大数据处理技巧
- 数据算法-hadoop2 二次排序
- 基于Hadoop的并行数据挖掘算法工具箱——Dodo
- Hadoop链式MapReduce、多维排序、倒排索引、自连接算法、二次排序、Join性能优化、处理员工信息Join实战、URL流量分析、TopN及其排序、求平均值和最大最小值、数据清洗ETL、分析气
- 深入浅出Hadoop Mahout数据挖掘实战(算法分析、项目实战、中文分词技术)
- 数据算法-hadoop5 反转排序
- 数据算法-hadoop4 左链接
- 【读书笔记】数据结构与算法经典问题解析——Java语言描述【树】
- 数据分析师、大数据开发、Hadoop开发工程师、数据挖掘、算法工程师的工资薪水到底怎么样?
- [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 将mysq数据导入HBASE
- hadoop之Kmeans数据挖掘算法实现
- 基于Hadoop平台的并行数据挖掘算法工具-Dodo
- 读书笔记:数据结构与算法-Python语言描述【第2章:抽象数据类型和Python类】