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

台湾是中国的省

相关文章
|
9月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
8月前
|
存储 JSON API
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。
|
分布式计算 负载均衡 Hadoop
MapReduce 分区器的作用与重要性
【8月更文挑战第31天】
258 1
|
算法 安全 物联网
如何应用SM2算法进行身份认证
【10月更文挑战第5天】如何应用SM2算法进行身份认证
711 1
|
SQL 自然语言处理 JavaScript
社区供稿 | 新版本源2.0大模型发布:Yuan2-2B-July-hf
近日,浪潮信息的新一代基础语言大模型源2.0 迎来了重要更新。
|
供应链 安全 专有云
阿里云通过信通院面向一云多芯的专有云技术能力评测
近日,阿里云飞天企业版通过中国信息通信研究院2023年度《面向一云多芯的专有云技术能力要求》,在异构兼容能力、专有云基础能力、迁移适配能力三个方面,再一次验证了阿里云专有云一云多芯领先的技术能力。
644 2
|
存储 缓存 调度
C++医院医学影像PACS系统源码 影像采集 DICOM影像
支持对财务及工作量信息进行统计; 支持对任意的检查类别,检查设备按照不同的检查项目(包括送检医生,送检;科室,检查类别,报告医生工作量等)进行任意时间段的统计; 可以按照检查类型,检查设备,检查项目,统计范围和日期范围等进行组合统计。
213 1
|
监控 Shell Linux
多行重定向,expect,字符串处理,高级变量,脚本工具
多行重定向,expect,字符串处理,高级变量,脚本工具
|
人工智能 关系型数据库 分布式数据库
下一篇
开通oss服务