第74讲:从Spark源码的角度思考Scala中的模式匹配学习笔记
来源:互联网 发布:2015年各省地税数据 编辑:程序博客网 时间:2024/05/18 14:27
第74讲:从Spark源码的角度思考Scala中的模式匹配学习笔记:
Spark 的RegisterWorker源码:
case class RegisterWorker(
id:String,
host:String,
port: Int
cores:Int
memory:Int
webUiPort:Int
publicAddress: String)
extends DeployMessage {
Utils.checkHost(host, "Required hostname")
assert (port > 0)
}
实现case class最最重要的是两个方法:apply/unapply
scala在case class伴生对象中定义了这两个方法。
apply用于对象的生成。所以在代码中直接使用case class,没有new case class
unapply是为模式匹配进行内容匹配的,RegisterWorker
匹配worker发过来的worker进程启动时的注册信息
RegisterWorker在匹配时调用RegisterWorker伴生的unapply方法
如果apply是工厂模式来构建具体的RegisterWorker,
unapply是结构模式,把传进来的对象的成员结构出来,
模式匹配时会暴露所有成员
所以extractor,主要指从对象中提取出相关成员
由于要提取时手动定义unapply,所以可以对对象进行很好的控制
对外暴露时只暴露对象的结构而不暴露对象的实现,
可以做到很好的面向结构编程。
手动定义一个类在类中定义伴生对象的unapply方法可带来更大灵活性
下一讲:for中的模式匹配
以上内容是从王家林老师DT大数据课程第74讲的学习笔记。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
scala第74讲视频观看链接:
http://yun.baidu.com/s/1hqJByvU
我的百度网盘共享的DT大数据梦工厂王家林老师第1-74讲的视频内容:http://pan.baidu.com/s/1qWK9CMo
- 第74讲:从Spark源码的角度思考Scala中的模式匹配学习笔记
- 第74讲:从Spark源码的角度思考Scala中的模式匹配
- Scala深入浅出进阶经典 第74讲:从Spark源码的角度思考Scala中的模式匹配
- 从spark源码的角度思考scala中的模式匹配
- 第4讲:Scala模式匹配、类型系统彻底精通与Spark源码阅读
- 第62讲:Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析学习笔记
- 第43讲:Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析学习笔记
- 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析学习笔记
- 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析学习笔记
- 第47讲:Scala多重界定代码实战及其在Spark中的应用源码解析学习笔记
- 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析学习笔记
- 第49讲:Scala中Variance代码实战及其在Spark中的应用源码解析学习笔记
- 第50讲:Scala中Variance变化点及其在Spark中的应用源码解析学习笔记
- 第60讲:Scala中隐式参数实战详解以及隐式参数在Spark中的应用源码解析学习笔记
- Spark学习笔记4-Scala模式匹配
- Spark源码中的Scala模式匹配编程和Scala模式匹配编程操作实战
- 第67讲:Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析学习笔记
- 第59讲:Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析学习笔记
- js map, reduce, forEach, filter的一般实现
- #第一周1005结题报告#
- 来自豆瓣的一个走过弯路的人(转)
- Swift 懒加载(lazy)
- HttpClient之Post通信与服务器连接实现登陆功能
- 第74讲:从Spark源码的角度思考Scala中的模式匹配学习笔记
- 正则表达式模板大全
- 程序设计策略(设计一款APP的步骤)
- python爬虫(三)--Python的set()
- thinkpad s3 安装win8 kali双系统笔记
- XSI进程间通信---信号量
- struts2中jsp页面向后台传值的三种方法
- 指针详解
- nefu oj 986 林大的入学体检(运算符重载在排序中的运用)