zoukankan      html  css  js  c++  java
  • spark rdd topK sort spark获取topK排序

    You can use either top or takeOrdered with key argument:

    newRDD.top(2, key=lambda x: x[2])
    

    or

    newRDD.takeOrdered(2, key=lambda x: -x[2])
    

    Note that top is taking elements in descending order and takeOrdered in ascending so key function is different in both cases.

    如果是pairrdd对key,或者value排序的话:

    Sort by key and value in ascending and descending order

    val textfile = sc.textFile("file:///home/hdfs/input.txt")
    val words = textfile.flatMap(line => line.split(" "))
    //Sort by value in descending order. For ascending order remove 'false' argument from sortBy
    words.map( word => (word,1)).reduceByKey((a,b) => a+b).sortBy(_._2,false)
    //for ascending order by value
    words.map( word => (word,1)).reduceByKey((a,b) => a+b).sortBy(_._2)
    
    //Sort by key in ascending order
    words.map( word => (word,1)).reduceByKey((a,b) => a+b).sortByKey
    //Sort by key in descending order
    words.map( word => (word,1)).reduceByKey((a,b) => a+b).sortByKey(false)
  • 相关阅读:
    struts1.2一些知识
    iText的用法
    <action里的input的作用
    CSS超链接样式常见四种状态控制
    Win7系统IIS7+Tomcat7集成
    Marquee 使用方法详解
    JAVA中String与StringBuffer的区别
    2020 8 31 每日总结
    2020 10 1
    2020 9 30
  • 原文地址:https://www.cnblogs.com/bonelee/p/14522640.html
Copyright © 2011-2022 走看看