统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的

简介: 统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的

样本数据如下(未截取完整,另一篇有生成数据的代码)

12.1.png

代码如下:


import java.util.Arrays;
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;
public class test9 {
  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/leInfo.txt");
    JavaRDD<String> Datardd=filedata.filter(f->{//过滤缺失的数据
    String[] tok=f.split(" ");
  if(tok.length<3)
  return false;
  else
  return true;
  });
    JavaRDD<String> manrdd=Datardd.filter(f->f.contains("M"));//过滤女性
    JavaRDD<String> womanrdd=Datardd.filter(f->f.contains("F"));//过滤男性
    JavaRDD<String> manrdd1=manrdd.flatMap(f->Arrays.asList(f.split(" ")[2]).iterator());//取男性字符
    JavaRDD<String> womanrdd1=womanrdd.flatMap(f->Arrays.asList(f.split(" ")[2]).iterator());//取女性字符
    JavaRDD<Integer> manrdd2 = manrdd1.map(f-> Integer.valueOf(f));//男性数值
    JavaRDD<Integer> womanrdd2 = womanrdd1.map(f->Integer.parseInt(f));  //女性数值
    JavaRDD<Integer> manhigh= manrdd2.sortBy(f->f,false,3);//男性排序高到底
    JavaRDD<Integer> manlow = manrdd2.sortBy(f->f,true,3);//男性排序底到高
    int manhighestconsume=manhigh.first();//男人最高消费
    int manlowestconsume=manlow.first();//男人最低消费
    JavaRDD<Integer> womanhigh = womanrdd2.sortBy(f->f,false,3);//女性排序高到底
    JavaRDD<Integer> womanlow = womanrdd2.sortBy(f->f,true,3);//女性排序底到高
    int womanhighestconsume= womanhigh.first();//女人最高消费
    int womanlowestconsume=womanlow.first();//女人最低消费
    System.out.println("男人最高消费"+manhighestconsume);
    System.out.println("男人最低消费"+manlowestconsume);
    System.out.println("女人最高消费"+womanhighestconsume);
    System.out.println("女人最低消费"+womanlowestconsume);
    sc.close();
  }
}

结果如下:


12.2.png

相关文章
|
8月前
汇率之谜:揭秘黄金折算与真实人民币汇率的神秘差距
黄金折算的人民币汇率与真实人民币汇率之间的差距是一个复杂的经济现象,反映了多种因素的综合作用。深入理解这一差距对于投资者、政策制定者和经济观察家都至关重要,因为它可以提供关于中国经济和国际金融市场的重要见解。因此,我们需要密切关注汇率差距的变化,并谨慎应对其潜在影响。
65 0
|
10月前
循环结构-慈善募捐——在全院10000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
循环结构-慈善募捐——在全院10000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
184 0
7-56 家庭房产 (25 分)
7-56 家庭房产 (25 分)
90 0
|
机器学习/深度学习 人工智能 算法
程序人生 - 全国程序员5月工资出炉,平均14926元,你达到平均水平了吗?
程序人生 - 全国程序员5月工资出炉,平均14926元,你达到平均水平了吗?
450 0
程序人生 - 全国程序员5月工资出炉,平均14926元,你达到平均水平了吗?
|
机器学习/深度学习 移动开发 算法
程序人生 - 2021年4月程序员工资统计,平均14596元,南京程序员收入挤进一线
程序人生 - 2021年4月程序员工资统计,平均14596元,南京程序员收入挤进一线
734 0
|
机器学习/深度学习 人工智能 算法
今日工资到账8美元?!AI行业剥削严重,ImageNet仅4%数据标记工人收入过最低线
今日工资到账8美元?!AI行业剥削严重,ImageNet仅4%数据标记工人收入过最低线
138 0
【数学题】男女的比例
在一个重男轻女的国家里,每家每户都想生男孩。若一户人家生了一个男孩,就不会再生了。若一家生了一个女孩,便会再生一个,直到生下男孩为止。请问这个国家(有无限多的人民)的男女比例是多少?答案:1比1。
1445 0
|
安全 大数据 网络安全