前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >案例三

案例三

作者头像
编程那点事
发布2023-02-25 15:49:29
2980
发布2023-02-25 15:49:29
举报
文章被收录于专栏:java编程那点事

需求: 对文本文件的数字,取最大的前3个

Java版本:

代码语言:javascript
复制
public class Top3 {

public static void main(String[] args) {

​​SparkConf conf = new SparkConf().setAppName("Top3").setMaster("local");

​​JavaSparkContext sc= new JavaSparkContext(conf);
JavaRDD<String> lines = sc.textFile("C:/Users/zhang/Desktop/a.txt");
JavaPairRDD<Integer, String> pairs =​lines.mapToPair(new PairFunction<String, Integer, String>() {

​​@Override
​​public Tuple2<Integer, String> call(String t) throws Exception {
​​​// TODO Auto-generated method stub
​​​return new Tuple2<Integer, String>(Integer.valueOf(t), t);
​​}
​});

JavaPairRDD<Integer, String> sortedPairs = pairs.sortByKey(false);
​JavaRDD<Integer> sortedNumbers = sortedPairs.map(new Function<Tuple2<Integer,String>, Integer>() {

 @Override
public Integer call(Tuple2<Integer, String> v1) throws Exception {
​​​// TODO Auto-generated method stub
​​​return v1._1;
​​}
​});

​List<Integer> sortedNumberList = sortedNumbers.take(3);
​for(Integer num : sortedNumberList){

System.out.println(num);
​}

​sc.close();
}
}

Scala版本

代码语言:javascript
复制
object Top3 {
def main(args: Array[String]){
  val conf = new SparkConf().setAppName("Top3").setMaster("local")
  val sc = new SparkContext(conf)
 
  val lines = sc.textFile("C:/Users/zhang/Desktop/a.txt", 1)
  val pairs = lines.map { line => (line.toInt,line) }
  val sortedPairs = pairs.sortByKey(false)      
  val sortedNumbers = sortedPairs.map(sortedPair => sortedPair._1)
  val top3Number = sortedNumbers.take(3)
  for(num <- top3Number){
    println(num)
  }
 
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档