Spark经典案例6-求top值
来源:互联网 发布:上海美团数据分析 编辑:程序博客网 时间:2024/05/22 04:50
需求分析
orderid,userid,payment,productid
求topN的payment值
a.txt
1,9819,100,121
2,8918,2000,111
3,2813,1234,22
4,9100,10,1101
5,3210,490,111
6,1298,28,1211
7,1010,281,90
8,1818,9000,20
b.txt
100,3333,10,100
101,9321,1000,293
102,3881,701,20
103,6791,910,30
104,8888,11,39
scala代码
package ClassicCaseimport org.apache.spark.{SparkConf, SparkContext}/** * 业务场景:求top值 * Created by YJ on 2017/2/8. */object case6 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("reduce") val sc = new SparkContext(conf) sc.setLogLevel("ERROR") val six = sc.textFile("hdfs://192.168.109.130:8020//user/flume/ClassicCase/case6/*", 2) var idx = 0; val res = six.filter(x => (x.trim().length > 0) && (x.split(",").length == 4)) .map(_.split(",")(2)) .map(x => (x.toInt, "")) .sortByKey(false) //fasle ->倒序 .map(x => x._1).take(5) .foreach(x => { idx = idx + 1 println(idx + "\t" + x) }) }}
结果输出:
1 9000
2 2000
3 1234
4 1000
5 910
0 0
- Spark经典案例6-求top值
- Spark经典案例4-求平局值
- Spark经典案例5-求最大最小值
- Spark 之 经典案例
- Hadoop经典案例Spark实现(六)——求最大的K个值并排序
- Hadoop经典案例Spark实现(五)——求最大最小值问题
- Spark经典案例2-数据去重
- Spark经典案例3-数据排序
- Spark经典案例7-非结构数据处理
- spark企业经典案例之手机app流量统计
- 《Spark商业案例与性能调优实战100课》第27课:彻底解密Spark Shuffle令人费解的6大经典问题
- mapreduce编程实例(6)-求TOP 10
- 【深度文章】2015年度大数据应用经典案例Top 100
- Spark Top N
- 经典案例
- 2.5 求TOP K
- mysql 求分组top
- Hadoop经典案例Spark实现(二)——数据去重问题
- 使用TinyXml库值得注意的几个地方
- JAVA线程控制
- web前端开发培训之前端开发必会的二十五个知识点
- 经纬度坐标转换
- Spring()----IOC
- Spark经典案例6-求top值
- spring学习(三)—深入理解DIP、IoC、DI以及IoC容器
- mysql 主从同步配置
- hdu 1372 knight
- Spring之旅--Spring 实例化bean的三种方式
- @Value初使用小记
- Android RectF()用法
- redis常见命令
- 四.hmtl报告之内容提取和报告最为附件发送到你邮箱