求TOP3广告点击次数,java spark rdd pairrdd 键值对转化

简介: 求TOP3广告点击次数,java spark rdd pairrdd 键值对转化
import java.util.Arrays;
import java.util.List;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.mllib.recommendation.Rating;
import scala.Tuple2;
public class provicead1 {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
  SparkConf sparkConf = new SparkConf().setAppName("PeopleInfoCalculator").setMaster("local");
    JavaSparkContext sc = new JavaSparkContext(sparkConf);
    JavaRDD<String> filedata=sc.textFile("file:///home/gyq/eclipse-workspace/ALS/PeopleInfo.txt");
    JavaPairRDD<Tuple2<String,String>,Integer> PAdata=filedata.mapToPair(s->{
      return new Tuple2<Tuple2<String,String>,Integer>(
        new Tuple2<String,String>(s.split(" ")[1],s.split(" ")[4]),1);//将第2列数据和第5列数据取出变成键值对形式
       });
    JavaPairRDD<Tuple2<String,String>,Integer> ggs=PAdata.reduceByKey((x,y)->x+y);
   ggs.foreach(f->System.out.println("jjjjj(省份,"+ "广告),点击数"+f));//第二题
   JavaRDD<String> rdd=ggs.map(f->{return f._1+" "+f._2;});
   JavaRDD<String> rdd1=rdd.sortBy(f->{return Integer.valueOf(f.split(" ")[1]);},false,1);
   rdd1.foreach(f->System.out.println("(省份,"+ "广告),点击数"+f));
   List<String> rdd2=rdd1.take(3);
   for(int i=0;i<3;i++) {
     System.out.println(rdd2.get(i));
   }
  }
}


正确答案:


11.1.png

 

值得注意的是:出现这种错误因为


11.2.png

 

这样


11.3.png


或者这样


11.4.png


都不行,string也能排序,但是遇到数字的话只能按第一个数字排须,例如按升序排

9>89>77>6>55

相关文章
|
5天前
|
分布式计算 Serverless 数据处理
|
4天前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
8 1
|
1月前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
3月前
|
SQL 分布式计算 Java
HiveOnSpark 报错:java.lang.IllegalStateException(Connection to remote Spark driver was lost)‘ Last kno
Hive On Spark 测试时遇到`java.lang.IllegalStateException`和`FileNotFoundException`,问题根源是 Spark 缺少 `hive-exec-3.1.3.jar`。解决方法:从 `$HIVE_HOME/lib/`复制该 jar 到 `$SPARK_HOME/jars/`,并使用 `hdfs dfs -put`命令将其上传至 HDFS 的 `/spark-jars/`(根据实际情况调整路径)。重启 Hive 元数据服务后问题解决。
HiveOnSpark 报错:java.lang.IllegalStateException(Connection to remote Spark driver was lost)‘ Last kno
|
3月前
|
分布式计算 Shell 开发工具
Spark编程实验二:RDD编程初级实践
Spark编程实验二:RDD编程初级实践
50 1
|
2月前
|
SQL JSON 分布式计算
|
2月前
|
SQL 分布式计算 Java
|
3月前
|
分布式计算 Java 测试技术
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
38 0
|
3月前
|
存储 分布式计算 程序员
Spark中的RDD介绍
Spark中的RDD介绍
30 0
|
3月前
|
分布式计算 Spark
Spark【Spark学习大纲】简介+生态+RDD+安装+使用(xmind分享)
【2月更文挑战第14天】Spark【Spark学习大纲】简介+生态+RDD+安装+使用(xmind分享)
61 1