火花中怎么实现二次排序

  介绍

这篇文章给大家介绍火花中怎么实现二次排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

 import  org.apache.spark._ 
  import  SparkContext._ 
  object  SecondarySort  {
  def 才能;主要(args:数组[String]), {
  ,,,val  sparkConf =, new  SparkConf () .setAppName (“, Secondary  Sort “)
  ,,,sparkConf.set (“mapreduce.framework.name",,“yarn");
  ,,,,,,,sparkConf.set (“spark.rdd.compress",,“true");
  ,,,,,,,sparkConf.set (“spark.serializer",“org.apache.spark.serializer.KryoSerializer");
  ,,,,,,,sparkConf.set (“spark.storage.memoryFraction",,“0.5“);
  ,,,,,,,sparkConf.set (“spark.akka.frameSize",,“100“);
  ,,,,,,,sparkConf.set (“spark.default.parallelism",,“1“),,
  ,,,val  sc =, new  SparkContext (sparkConf)
  ,,,val  file =, sc.textFile (“hdfs://namenode: 9000/测试/secsortdata")
  ,,,val  rdd =, file.map (line =祝辞,line.split (“\ t"))。
  ,,,,,地图(x =祝辞,(x (0) x (1))) .groupByKey ()。
  ,,,,,sortByKey(真正的). map (x =祝辞,(x._1, x._2.toList.sortWith (_> _)))
  ,,,val  rdd2 =, rdd.flatMap {
  ,,,,,x =比;
  ,,,,,val  len =x._2.length
  ,,,,,val  array =, new 数组((字符串,字符串))(兰)
  ,,,,,,(小姐:& lt;安康;0,until 兰),{
  ,,,,,,,数组(i),=, (x._1, x._2(我))
  ,,,,,}
  ,,,,,array ,
  ,,,}
  ,,,sc.stop ()
  ,,}
  }

关于火花中怎么实现二次排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

火花中怎么实现二次排序