zoukankan      html  css  js  c++  java
  • java实现spark常用算子之countbykey



    import org.apache.spark.SparkConf;
    import org.apache.spark.api.java.JavaPairRDD;
    import org.apache.spark.api.java.JavaSparkContext;
    import scala.Tuple2;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Map;

    /**
    * countbykey 算子:
    * 只能用在(K,V)结构。
    * 用来统计每个key有多少个,返回一个(K,int)
    */
    public class CountByKeyOperator {
    public static void main(String[] args) {
    SparkConf conf = new SparkConf().setMaster("local").setAppName("countbykey");
    JavaSparkContext sc = new JavaSparkContext(conf);
    List<Tuple2<String,String>> names = Arrays.asList(
    new Tuple2<String,String>("w1","1"),
    new Tuple2<String,String>("w2","1"),
    new Tuple2<String,String>("w1","1"),
    new Tuple2<String,String>("w3","1"),
    new Tuple2<String,String>("w2","1")
    );

    JavaPairRDD<String,String> nameRdd = sc.parallelizePairs(names);
    Map<String,Long> reusult = nameRdd.countByKey();

    for(Map.Entry<String,Long> map: reusult.entrySet()) {
    System.err.println(map.getKey()+":"+map.getValue());
    }



    }
    }

    微信扫描下图二维码加入博主知识星球,获取更多大数据、人工智能、算法等免费学习资料哦!

  • 相关阅读:
    1. Java基础知识
    2. HelloWorld
    3. Java基础语法
    4. Java流程控制
    设计一个有getMin功能的栈
    ASP.NET中Cookies的使用
    用sql语句建表
    Eclipse “cannot be resolved to a type” 错误
    使用java连接sqlserver2008 R2/sqlserver2008
    使用java连接MySQL数据库
  • 原文地址:https://www.cnblogs.com/guokai870510826/p/11598620.html
Copyright © 2011-2022 走看看