1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。

简介: 1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。

/*1、统计文本中性别为“男”的用户数。

2、统计每个省(或直辖市)用户数。*/

package thisterm;
import java.util.ArrayList;
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 scala.Tuple2;
/*1、统计文本中性别为“男”的用户数。
2、统计每个省(或直辖市)用户数。*/
public class tongji {
  public static void main(String[] args) {
    SparkConf sparkConf = new SparkConf().setAppName("PeopleInfoCalculator").setMaster("local");
      JavaSparkContext sc = new JavaSparkContext(sparkConf);
      JavaRDD<String> rdd1 = sc.textFile
          ("file:///home/gyq/下载/spark-2.3.2-bin-hadoop2.7/data/test.txt");//*是所有文件内容
      List<String> list=new ArrayList<String>();
      list.add("北京市");
      list.add("天津市");
      list.add("上海市");
      list.add("重庆市");
      JavaRDD<String> manrdd=rdd1.filter(f->f.contains("男"));//男性
      long a = manrdd.count();
      System.err.println("男性为"+a);
      JavaPairRDD<String,Integer> prdd1=rdd1.mapToPair(f->{//中国辽宁省,1) (中国 广东省,1)有这种东西存在
        return new Tuple2<>(f.split(",")[6].trim().
            replaceAll("[\\pP+~$`^=|<>~`$^+=|<>¥×]" , "")
            .replaceAll("中国", "").trim().
            replaceAll("廣東省", "广东省").
            replaceAll("広東省", "广东省").
            replaceAll("廣西省", "广西省").
            replaceAll("辽省", "辽宁省").
            replaceAll("北京省", "北京市")
            ,1);});
      JavaPairRDD<String,Integer> prdd5=prdd1.filter(f->
      ((f._1.matches(".*省")||list.contains(f._1))&&!isNumeric(f._1));//
    //(94省,1)有这种东西存在
      JavaPairRDD<String,Integer> rdd2=prdd5.reduceByKey((x,y)->x+y);
      rdd2.foreach(f->System.err.println(f));
      sc.stop();
  }
   static boolean isNumeric(String str) {//判读是否含有数字
    for (int i = str.length(); --i >= 0;) {
    int chr = str.charAt(i);
    if (chr > 48 && chr < 57)
    return true;
  }
return false;
    }
}
————————————————
版权声明:本文为CSDN博主「西柚与蓝莓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_53291740/article/details/123458033

47.1.png

台湾是中国的省

相关文章
|
6月前
|
人工智能
第4章-7 统计学生平均成绩与及格人数
该程序计算一组学生的平均成绩和及格人数。输入包含学生人数N和N个成绩,输出格式为&quot;average = 平均成绩&quot;和&quot;count = 及格人数&quot;。提供的代码首先读取学生数量,然后累加成绩并计数及格者。平均成绩保留一位小数。当学生人数为0时,平均成绩和及格人数分别输出0.0和0。
135 1
|
2月前
|
存储 前端开发 NoSQL
如何优雅地实现在线人数统计功能:技术干货分享
在现代Web开发中,实时在线人数统计是一个常见且重要的功能,它不仅提升了用户体验,还能为网站运营者提供宝贵的数据支持。今天,我们将深入探讨如何优雅地实现这一功能,结合前端展示、后端处理及数据存储等多个方面,为您呈现一套完整的技术解决方案。
261 5
|
5月前
1038 统计同成绩学生 (20 分)
1038 统计同成绩学生 (20 分)
|
C++
成绩统计
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。
83 0
|
存储
统计网站的在线人数
统计网站的在线人数
89 0
leetcode1109 航班预订统计
leetcode1109 航班预订统计
53 0
|
数据库
查询各年龄段人数
查询各年龄段人数
107 0
统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的
统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的
|
JSON 分布式计算 大数据
行政区统计_功能实现|学习笔记
快速学习行政区统计_功能实现
117 0
行政区统计_功能实现|学习笔记
7-19 树种统计 (10 分)
7-19 树种统计 (10 分)
108 0