spark分组取topN-创新互联

SPARK用scala实现分组取topN

10年积累的做网站、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有浠水免费网站建设让你可以放心的选择与我们合作。

原文件:

class1 33

class2 56

class1 87

class2 77

class1 76

class2 88

class1 95

class1 74

class2 85

class2 67

class2 77

class1 99

class1 59

class2 60

import org.apache.spark.SparkConf

import org.apache.spark.SparkContext

import org.apache.commons.collections.map.Flat3Map

object GroupTopN {

 def main(args: Array[String]): Unit = {

     val conf = new SparkConf()

         .setAppName("TopN")

         .setMaster("local")

     val sc = new SparkContext(conf)

     val lines = sc.textFile("C://Users//Administrator//Desktop//spark//groupTopN.txt", 1)

     val pairs = lines.map { line => line.split(" ")}

     val xx = pairs.map { pair => (pair(0),pair(1).toInt) }

     val sort = xx.groupByKey()

     val result = sort.map(s=>(s._1,s._2.toList.sorted(Ordering.Int).take(4)))

     result.foreach(r => println(r._1+""+r._2))

 }

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:spark分组取topN-创新互联
文章网址:http://myzitong.com/article/edpco.html