介绍
这篇文章给大家介绍火花中怎么实现二次排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
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 () ,,} }
关于火花中怎么实现二次排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。