spark中迭代器的使用(求最大或最小)

简介: spark中迭代器的使用(求最大或最小)

groupbykey


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.JavaSparkContext;
import jersey.repackaged.com.google.common.collect.Lists;
import scala.Tuple2;
public class groupbykey {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    SparkConf conf=new SparkConf().setAppName("").setMaster("local");
    JavaSparkContext sc=new JavaSparkContext(conf);
    List<Tuple2<String,Integer>> scores=Arrays.asList(
        new Tuple2<String,Integer>("jac",80),
        new Tuple2<String,Integer>("jac",100),
        new Tuple2<String,Integer>("jac",70),
        new Tuple2<String,Integer>("gs",80),
        new Tuple2<String,Integer>("gs",90)
        );
    JavaPairRDD<String,Integer> pardd=sc.parallelizePairs(scores);
    JavaPairRDD<String,Iterable<Integer>> pardd1=pardd.groupByKey();
    JavaPairRDD<String,Integer> pardd2=
        pardd1.mapValues(f->{
      List<Integer> li=Lists.newArrayList(f);//迭代器转list
      Integer j=0;
      for(int i=0;i<li.size();i++) {
        if(li.get(i)>j) {
          j=li.get(i);
        }
      }
      return j;
    });
    pardd2.foreach(f->System.out.println(f));
  }
}
相关文章
|
2月前
查找数组中最小的元素
【10月更文挑战第30天】查找数组中最小的元素。
42 5
|
8月前
|
Java
<Java SE> 5道递归计算,创建数组,数组遍历,JVM内存分配...
<Java SE> 5道递归计算,创建数组,数组遍历,JVM内存分配
78 2
|
8月前
|
Java
DAY-1 | Java数据结构之链表:删除无头单链表中等于给定值 val 的所有节点
力扣203题解:使用时间复杂度为O(n)的思路删除链表中所有值为key的元素。引入辅助指针pre,记录cur的前一个节点,遍历链表时,若cur.val!=key,pre和cur同时前进;若cur.val==key,则pre.next=cur.next,cur继续前进,确保pre不急于跟随以处理连续相同值的情况。遍历结束后,处理头节点可能需要删除的特殊情况。
53 0
|
8月前
|
存储 算法 Java
Java:查找一个给定数组中的最大值和最小值
Java:查找一个给定数组中的最大值和最小值
删除链表中等于给定值 val 的所有节点
删除链表中等于给定值 val 的所有节点
|
Serverless
递归访问目录,嵌套函数,递归函数map函数,filter函数,reduce函数
一、递归访问目录: 且目录中嵌套目录,有层次的列出给定目录中所有的文件和文件夹
88 0
|
存储
返回集合中最大,最小的元素,再将元素进行排序
返回集合中最大,最小的元素,再将元素进行排序
66 0
给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度?
给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度?
329 0
给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度?
|
算法
Day1——数组 二分查找、移除一个数
Day1——数组 二分查找、移除一个数
118 0
Day1——数组 二分查找、移除一个数
|
分布式计算 Scala Spark
【Spark】【RDD】从内存(集合)创建RDD
【Spark】【RDD】从内存(集合)创建RDD
167 0