Spark 3000门徒第二课scala面向对象总结
昨晚听了王家林老师3000门徒spark系列课程的第二课,讲述了scala面向对象知识,并且带着过了一遍Spark核心类:SparkContent,RDD的代码,下面写一下心得:
RDD是抽象类,实现了Serializable和Logging接口,有很多类继承了RDD类来实现不同功能的RDD。
SparkContent默认构造器传入config:SparkConf 实现了Logging和ExecutorAllocationClient接口.
类默认构造器会执行类中没有在成员函数中的所有代码。
Object 所有成员都是静态的,一般用来放全局唯一常量和工具方法,有默认的无参数的构造函数,只第一次调用会执行静态语句,第二次及其以后不会执行这些静态语句
伴生类和伴生对象必须在一个文件中
伴生类的伴生对象的apply是构造对象的工厂方法,例如:抽象Graph Object的apply方法调用了GraphImpl Object的apply方法来构造对象
类加final,类不能被继承
属性和方法加final,不能被覆盖
建议使用override关键字,一般覆盖方法,覆盖属性情况不多
另外SparkContent,RDD的代码中有很多注解,Scala提供了相应的注解。
@volatile注解标记为易失的(不必序列化);@transient注解将字段标记为瞬态的
Spark 3000门徒第二课scala面向对象总结的更多相关文章
- Spark 3000门徒第一课随笔
昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识: Array本身创建后不可修改ArrayBuffer可修改import s ...
- 【C++探索之旅】第二部分第一课:面向对象初探,string的惊天内幕
内容简单介绍 1.第二部分第一课:面向对象初探.string的惊天内幕 2.第二部分第二课预告:掀起了"类"的盖头来(一) 面向对象初探,string的惊天内幕 上一课<[C ...
- js项目练习第二课
百度输入法 <style> *{ list-style: none; text-decoration: none; padding: 0; margin: 0; } a:hover{ te ...
- scala 面向对象之 继承
scala 面向对象之 继承 scala 1.extends Scala中,让子类继承父类,与Java一样,也是使用extends关键字 继承就代表,子类可以从父类继承父类的field和metho ...
- Spark集群 + Akka + Kafka + Scala 开发(3) : 开发一个Akka + Spark的应用
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境中,我们已经部署好了一个Spark的开发环境. 在Spark集群 + Akka + Kafka + S ...
- Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境,我们已经部署好了一个Spark的开发环境. 本文的目标是写一个Spark应用,并可以在集群中测试. ...
- Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境
目标 配置一个spark standalone集群 + akka + kafka + scala的开发环境. 创建一个基于spark的scala工程,并在spark standalone的集群环境中运 ...
- CI(CodeIgniter)框架入门教程——第二课 初始MVC
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...
- OpenCV 第二课 认识图像的存储结构
OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...
随机推荐
- C# 特性 Attribute
特性就是在类的类名称.属性.方法等上面加一个标记,使这些类.属性.方法等具有某些统一的特征,从而达到某些特殊的需要.举个小栗子:方法的异常捕捉,你是否还在某些可能出现异常的地方(例如数据库的操作.文件 ...
- Android常见包
Android.jar常见包 android.app-----------提供高层的程序模型.提供基本的运行环境android.content-------包含各种的对设备上的数据进行访问和发布的类a ...
- java(POI):基于模版的Excel导出功能,局部列写保护总结
需求描述: 1.导出的Excel中部分列包含有下拉列表,并没有尝试过用代码实现这种功能,个人感觉比较棘手,故采用了模版的形式,直接导出数据到已经创建好的Excel模版中 2.Excel的第一列需要写保 ...
- [drp 2]String、StringBuffer和StringBuilder的区别
导读:在实际运用了,我们会频繁的用到string.stringBuffer和stringBuilder这三个东西,那么,他们之间的区别是什么呢.本文主要是从拼写SQL语句的角度,来阐释他们之间的区别! ...
- 七、TCP/IP协议
1.定义: TCP/IP模型也被称作DoD模型(Department of Defense Model).TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议). TCP/IP协议 ...
- Android IOS WebRTC 音视频开发总结(十一)-- stun&turn部署
本篇文章主要介绍webrtc里面的stun,turn服务的安装与配置(转载请说明出处: http://www.cnblogs.com/lingyunhu, RTC.Blacker) 说到STUN,TU ...
- Highcharts 连续的堆积面积图
说明:设置两个柱形图间距为0 Highcharts柱图,设置X轴各Column的间距 plotOption : { column : { // 设置每个柱自身的宽度 ...
- NotePad++相关设置
Notepad++去掉红色下划线: 插件->DSpellCheck->Auto-check Document 前面的勾去掉 Notepad++自动换行: 视图(View)——>自动换 ...
- mongodb基础用法
安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...
- Win7、win2008中让IIS7支持asp的方法
Win7或Windows server 2008中IIS7支持ASP+Access解决方法. 1. 让IIS7支持ASP Win7或Windows server 2008中IIS7是默认不安装的, ...