日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark统计一座城市的男女人数,以及男女消费额的最高与最低

發布時間:2024/1/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark统计一座城市的男女人数,以及男女消费额的最高与最低 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目中沒有給出數據,我的數據是自己使用隨機數代碼生成的:

?

數據生成代碼如下:

Random r = new Random();FileWriter fw = new FileWriter("生成文件的路徑以及名稱");int x = r.nextInt(1100000)-100000;for(int y = 1;y <= x;y++) {int sex1 = r.nextInt(10);int cost = r.nextInt(10000);String sex;if (sex1%2 == 1) //性別使用隨機生成的數是奇數或是偶數來判斷sex = "M";elsesex = "F";fw.write(y + " " + sex + " " + cost + "\r\n" );fw.flush();}fw.close();

數據已經有了,接下來就可以統計這座城市一共有多少人,消費總額,人均消費了。

代碼如下:
?

SparkConf sparkconf = new SparkConf().setAppName(" ").setMaster("local");JavaSparkContext sc = new JavaSparkContext(sparkconf);JavaRDD<String> lines = sc.textFile("數據路徑");JavaRDD<Integer> rdd1 = lines.map(f->{return (Integer.valueOf(f.split(" ")[2]));}); //只取出消費額這一列,并將其轉化成整數類型long counts = rdd1.count(); //統計城市有多少人long avg = 0;int sum = 0;sum = rdd1.reduce((a, b) -> a + b); //求消費額總額avg = sum/counts; // 人均消費=總消費額/人數//輸出System.out.println("這座城市一共有:" + counts + "人");System.out.println("這座城市的消費總額為:" + sum + "元");System.out.println("這座城市的人均消費額為:" + avg + "元");

結果如下:

?

接下來分別對男性和女性求人數,及最高消費額。我們可以根據性別得到兩個RDD,然后可以排序,求首尾的數據即可,也可以直接比大小得到。

我是通過比較大小得出的最高最低消費,沒有使用排序的方式。

代碼如下:

SparkConf sparkconf = new SparkConf().setAppName(" ").setMaster("local");JavaSparkContext sc = new JavaSparkContext(sparkconf);JavaRDD<String> lines = sc.textFile("數據路徑");JavaPairRDD<String, Integer> rdd1 = lines.mapToPair(f->new Tuple2<>(f.split(" ")[1],Integer.valueOf(f.split(" ")[2])));JavaPairRDD<String, Integer>rddM1 = rdd1.filter(f->{return (f._1().contains("M"));}); //只保留含有M的數據JavaPairRDD<String, Integer>rddF1 = rdd1.filter(f->{return (f._1().contains("F"));}); //只保留含有F的數據JavaPairRDD<String, Integer> MAXM = rddM1.reduceByKey((x,y)->MAX(x,y)); //消費額比較大小保留大的,下面同理JavaPairRDD<String, Integer> MAXF = rddF1.reduceByKey((x,y)->MAX(x,y));JavaPairRDD<String, Integer> MINM = rddM1.reduceByKey((x,y)->MIN(x,y));JavaPairRDD<String, Integer> MINF = rddF1.reduceByKey((x,y)->MIN(x,y));MINF.foreach(x -> System.out.println("女性最低消費"+x._2));MINM.foreach(x -> System.out.println("男性最低消費"+x._2));MAXF.foreach(x -> System.out.println("女性最高消費"+x._2));MAXM.foreach(x -> System.out.println("男性最高消費"+x._2));long countsM = rddM1.count(); //統計人數long countsF = rddF1.count();System.out.println("男性人數為:"+countsM + "\n" + "女性人數為:" + countsF);

比較大小函數:

public static int MAX(int x,int y) {if (x<y) {return y;}else {return x;}}public static int MIN(int x,int y) {if (x<y) {return x;}else {return y;}}

最終結果:

?

?

?

?

不足之處,歡迎指正。hhh

總結

以上是生活随笔為你收集整理的Spark统计一座城市的男女人数,以及男女消费额的最高与最低的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线视频精品免费 | 中文高清av | 日韩精品无码一区二区三区久久久 | av电影在线观看网址 | 热热热热色 | 加勒比毛片 | 日本黄色www| jizz国产在线 | 亚洲黄色在线免费观看 | 天堂视频一区 | 中文字幕一本 | 黑人性生活视频 | 亚洲不卡网 | 中文字幕网伦射乱中文 | 三级福利 | jzzijzzij亚洲成熟少妇在线观看 久久久精品人妻一区二区三区 | 成人影片在线 | 99热99精品 | 午夜视频黄色 | 男女草比视频 | 国产日韩精品电影 | 精品无码久久久久成人漫画 | 精品人妻一区二区三区日产乱码卜 | 啪啪网站大全 | 国内av网| 搡老熟女老女人一区二区 | 狠狠插视频 | 欧美永久精品 | 超碰在线进入 | 特级西西444www大精品视频 | 成人在线视频网址 | 亚洲欧美大片 | 黄色av电影在线 | 日日日操操操 | 国产 欧美 在线 | 性生活视频在线播放 | 中文字幕乱码视频 | 午夜视频网址 | 天天干天天透 | 国产亚洲一区二区三区四区 | 欧美专区综合 | 波多野结衣视频免费 | 69视频免费看 | 久久久毛片 | 偷拍xxxx| 午夜亚洲天堂 | 99这里只有 | 裸体裸乳被免费看视频 | 朝桐光av一区二区三区 | 国产区在线视频 | 91爱爱com| 国产爱搞 | 韩国视频一区二区 | 日韩第九页 | 国产ts在线 | 福利av在线 | 操一操| 精品国产网 | 国产精品久久久久久久av福利 | 艳妇臀荡乳欲伦交换电影 | 国产污视频在线观看 | 国产精品免费久久久久 | 亚洲高清免费观看 | 日韩三级中文字幕 | 精品福利在线观看 | 欧美性xxxx图片 | 人妻少妇精品无码专区 | 成人网页在线观看 | 93看片淫黄大片一级 | 日本一区二区不卡视频 | aaaa视频 | 91色交视频 | 九热精品视频 | 国产精品视频网站 | 露胸app| 在线视频 日韩 | 性插插视频 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲av无码国产精品永久一区 | 亚洲一区二区三区不卡视频 | 精品一区二区成人免费视频 | 亚洲蜜臀av乱码久久精品蜜桃 | 亚洲xxxxx| 国产网站免费看 | 尤物一区 | 国产精品蜜 | 色屁屁一区二区三区 | 人人爽人人爽人人爽 | 男女网站在线观看 | 亚洲成年人在线 | 久久精品香蕉视频 | 日韩乱码一区二区 | 色天天综合网 | 亚洲啪 | av不卡在线看 | 被两个男人吃奶三p爽文 | 久久国产精品久久久 | 国产a视频 | 亚洲欧美国产高清 |