07-案例:销售图书
题目:
给定一组键值对(“spark”, 2)(“hadoop”, 6)(“hadoop”, 4)(“spark”, 6),键值对的key表示图书名称,value表示某天的图书销量,请计算每个键对应的平均值,也就是计算每种图书的每天平均销量
下面利用scala实现:
环境是在jupyter notebook中的运行,使用scala语法:
命令1:
val rdd = sc.parallelize(Array(("spark", 2), ("hadoop", 6), ("hadoop", 4), ("spark", 6))) // 创建RDD
输出1:
rdd: org.apache.spark.rdd.RDD[(String, Int)] = ParallelCollectionRDD[0] at parallelize at <console>:25
命令2:
rdd.foreach(elem=>println(elem))
输出2:
(spark,2)
(hadoop,6)
(hadoop,4)
(spark,6)
命令3:
rdd.mapValues(x=>(x,1)).foreach(elem=>println(elem)) // mapValues不是行动操作
输出3:
(spark,(2,1))
(hadoop,(6,1))
(spark,(6,1))
(hadoop,(4,1))
命令4:
rdd.mapValues(x=>(x,1)).reduceByKey((x, y)=>(x._1+y._1, x._2+y._2)).foreach(elem=>println(elem))
输出4:
(hadoop,(10,2))
(spark,(8,2))
命令5:
rdd.mapValues(x=>(x,1)).reduceByKey((x, y)=>(x._1+y._1, x._2+y._2)).mapValues(x=>(x._1/x._2)).foreach(elem=>println(elem))
输出5:
(spark,4)
(hadoop,5)
命令6:
rdd.mapValues(x=>(x,1)).reduceByKey((x, y)=>(x._1+y._1, x._2+y._2)).mapValues(x=>(x._1/x._2)).collect()
输出6:
res10: Array[(String, Int)] = Array((hadoop,5), (spark,4))
07-案例:销售图书相关推荐
- 案例:图书管理——补充知识(数组相关API)||补充知识(数组响应式变化)
案例:图书管理 Vue数组操作 1.变异方法:会影响数组的原始数据的变化. 2.替换数组:不会影响原始的数组数据,而是形成一个新的数组. <!DOCTYPE html> <html ...
- c语言销售总额信息统计,C语言精简案例--销售统计直方图
原标题:C语言精简案例--销售统计直方图 01 C语言精简案例-销售统计直方图 //今晚内容:C语言新案例-数据表 //讲课老师:范志军 #include #include void ShowSale ...
- 软件工程案例学习-图书管理系统
软件工程案例学习-图书管理系统 文档编号:LMS_1 ...
- 案例:图书管理(包括图书列表展示,添加、修改、删除图书功能)
案例:图书管理 功能如下: (1)图书列表 实现静态列表效果 基于数据实现模板效果 处理每行的操作按钮 (2)添加图书 实现表单的静态效果 添加图书表单域数据绑定 添加按钮事件绑定 实现添加业务逻辑 ...
- JavaWeb学习-案例练习-图书管理后台-5- 完成图书删除功能
继续来做案例练习,本篇学习如何删除图书,也就是在list.jsp页面的图书列表中,点击删除按钮,这条图书记录信息就从列表消失,然后相当于刷新当前页面,列表就少了一条图书记录. 1.需求场景 例如把Py ...
- JavaWeb学习-案例练习-图书管理前台-10- 图书详情页的实现
前面一篇实现了前端图书列表的分页操作,可以点击上一页和下一页,这个我们实现每个页面显示4本书,实际开发中,一般设置20条记录或者40条记录,这个实现原理是一样的.这篇来学习,在前端页面点击这本书的名称 ...
- 《精通移动app测试实战:技术、工具和案例》图书目录
图书相关链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https ...
- 07 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(上)
上一节,我用一个 Nginx+PHP 的案例,给你讲了服务器 CPU 使用率高的分析和应对方法.这里你一定要记得,当碰到无法解释的 CPU 使用率问题时,先要检查一下是不是短时应用在捣鬼. 短时应用的 ...
- JavaWeb学习-案例练习-图书管理前台-9-分页功能实现
前面一篇完成了多条件的查询,这篇开始学习分页,很多网页是默认显示20条数据,想看更多数据,就通过点击下一页的方式实现.这篇就来模拟这个分页实现过程. 1.项目环境准备 之前我们实现的都是图书管理后台功 ...
最新文章
- 自动驾驶的分级和行业现状
- istio入门(05)istio的架构概念2
- css3动画,监控动画执行完毕
- 原生js实现京东商城楼梯效果
- 高特权级代码段转向低特权级代码段(利用 ret(retf) 指令实现 jmp from ring0 to ring3)
- Linux Polkit 中的pkexec 组件存在的本地权限提升漏洞(CVE-2021-4034)修复方法及centos6和centos7的安装包
- verilog异步复位jk触发器_同步复位和异步复位常见问题总结
- Linux驱动开发|WiFi驱动
- 计算机网络实验水晶头,计算机网络 实验1 双绞线水晶头制作.docx
- Jmeter--【作为测试你必须要知道的】基础名词与环境搭建
- 地理信息三维可视化技术在城市规划中的应用
- 报表工具的 SQL 植入sql注入风险及规避方法
- ZKT门禁机标准联接线(按键开关不经过卡机)
- 媒体邀约得3个步骤和5个注意事项
- Self -Supervised Learning
- js代码中引入js文件
- 实时操作系统在生活中应用举例
- 登录提示:You are required to change your password immediately (password aged)
- hutool 解读(三)—— IO流
- Python图像处理丨图像的灰度线性变换