博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sparkCore二次排序
阅读量:5840 次
发布时间:2019-06-18

本文共 986 字,大约阅读时间需要 3 分钟。

hot3.png

1.目的:

    scala实现二次排序(第一列正序,第二列倒序)

2.素材:

    twosort.txt

20 2150 5150 5460 5160 5370 5860 6170 5470 5770 5810 55

3.代码

/**  * Created by puwenchao on 2016-07-25.  */import org.apache.spark.{SparkConf, SparkContext}object twosort {  def main(args: Array[String]) {    //设置运行环境    val conf = new SparkConf().setAppName("twosort").setMaster("local")    val sc = new SparkContext(conf)    //引入RDD    val file = sc.textFile("e:\\twosort.txt")    //排序并二次排序    val rdd = file.map(line => line.split(" ")).      map(x => (x(0),x(1))).groupByKey().      sortByKey(true).map(x => (x._1,x._2.toList.sortWith(_>_)))    //按照二元组格式输出    val rdd2=rdd.flatMap{      x =>       val len=x._2.length       val arr=new Array[(String,String)](len)        for(i <- 0 until len){          arr(i)=(x._1,x._2(i))        }        arr    }    rdd2.foreach(println)    sc.stop()  }}

4.输出

    (10,55)

    (20,21)
    (50,54)
    (50,51)
    (60,61)
    (60,53)
    (60,51)
    (70,58)
    (70,58)
    (70,57)
    (70,54)

转载于:https://my.oschina.net/puwenchao/blog/719045

你可能感兴趣的文章
算法-两数相加
查看>>
使用chrome performance 查看页面性能
查看>>
OpenCV3编程入门学习一架构分析
查看>>
安装docker和docker-compose
查看>>
分布式事务中间件 Fescar—RM 模块源码解读
查看>>
MYSQL中视图的使用
查看>>
四种方法实现──三栏布局(圣杯布局、双飞翼布局)
查看>>
函数&作用域提升
查看>>
第十三天-企业应用架构模式-对象-关系元数据映射模式
查看>>
资深程序员的书单 - 转载自@Axb
查看>>
Laravel核心解读--异常处理
查看>>
待实践的解决方案---微信浏览器里粘贴功能不好使
查看>>
spring cloud gateway (5)其他
查看>>
【译】 WebSocket 协议第七章——关闭连接(Closing the Connection)
查看>>
以太坊中的账户、交易、Gas和区块Gas Limit等概念
查看>>
记住这35个英文单词,你就可以在RPA界混了!
查看>>
前嗅ForeSpider数据建表和高级配置界面介绍
查看>>
「前端面试题系列7」Javascript 中的事件机制(从原生到框架)
查看>>
RxJS 实现摩斯密码(Morse) 【内附脑图】
查看>>
爬虫提交form表单中含有(unable to decode value)解决方法
查看>>