大数据科学丛书系列的最新一本《Scala语言基础与开发实战》即将面市,预计月底上架。内容还是不错的,文笔简介,内容实用,值得学、用。

大数据资深培训师王家林新作。

详细介绍大数据开发语言Scala及其在分布式框架Akka和Kafka中的应用。

秉承“实战”类图书特点,解析大量代码的编写操作,具有较强的可操作性,便于读者学习和理解。


新书:Scala语言基础与开发实战_第1张图片

算上再过几个月出版的《Spark内核解析及性能调优》,一年时间,大数据科学丛书系列之Spark的小套系基本形成了:从学习Spark的角度来讲基本上齐活儿了。


Scala这本书的目录可供有兴趣的朋友参详先。

前言

基础篇

第1章Scala零基础入门

11Scala概述

12Windows及Linux下Scale运行环境安装配置

121软件工具准备

122Windows环境下的Scala安装

123Linux环境下的Scala安装

124Linux环境下的Hadoop安装与配置

125Linux环境下的Spark安装与配置

13Scala开发环境搭建和HelloWorld实例

131Scala集成开发工具的安装

132HelloWorld编程实例

133WorkSheet的使用

14变量的使用

141Scala解释器中的变量示例

142val变量的定义

143var变量的定义

144var变量与val变量的使用比较

15函数的定义、流程控制、异常处理

151函数的定义

152流程控制(if、while、for)

153异常处理

16Tuple、Array、Map与文件操作

161Tuple元组

162Array数组

163文件操作

164Map映射

17Scala中的apply方法

171Object中的apply

172Class中的apply

173Array数组的apply实现

18小结

第2章Scala面向对象编程开发

21类的定义及属性

211类定义

212带有getter和setter的属性

22主构造器、私有构造器、构造器重载

221构造器重载之辅助构造器

222主构造器

223不同访问权限的构造器

23内部类和外部类

24单例对象、伴生对象

25继承:超类的构造、重写字段、重写方法

251超类的构造

252重写字段

253重写方法

26抽象类、抽象字段、抽象方法

261抽象类

262抽象字段

263抽象方法

27trait特质

271作为接口使用的trait

272在对象中混入trait

273trait深入解析

28多重继承、多重继承构造器执行顺序及AOP实现

281多重继承

282多重继承构造器执行顺序

283AOP实现

29包的定义、包对象、包的引用、包的隐式引用

291包的定义

292包对象

293包的引用

294包的隐式引用

210包、类、对象、成员、伴生类、伴生对象访问权限

2101包、类、对象、成员访问权限

2102伴生类、伴生对象访问权限

211小结

第3章Scala高阶函数

31匿名函数

32偏应用函数

33闭包

34SAM转换

35Curring函数

36高阶函数

37高阶函数在Spark中的应用

38小结

中级篇

第4章Scala模式匹配

41模式匹配简介

42模式匹配类型

421常量模式

422变量模式

423构造器模式

424序列(Sequence)模式

425元组(Tuple)模式

426类型模式

427变量绑定模式

43模式匹配与Case Class

431构造器模式匹配原理

432序列模式匹配原理

433Sealed Class在模式匹配中的应用

44模式匹配应用实例

441for循环控制结构中的模式匹配

442正则表达式中的模式匹配

443异常处理中的模式匹配

444Spark源码中的模式匹配使用

45本章小结

第5章Scala集合

51可变集合与不可变集合(Collection)

511集合的概述

512集合的相关操作

513集合的操作示例

52序列(Seq)

521序列的概述

522序列的相关操作

523序列的操作示例

53列表(List)

531列表的概述

532列表的相关操作

533列表的操作示例

54集(Set)

541集的概述

542集的相关操作

543集的操作示例

55映射(Map)

551映射的概述

552映射的相关操作

553映射的操作示例

56迭代器(Iterator)

561迭代器的概述

562迭代器的相关操作

563迭代器的操作示例

57集合的架构

58小结

高级篇

第6章Scala类型参数

61泛型

611泛型的概述

612泛型的操作示例

62界定

621上下界界定

622视图界定

623上下文界定

624多重界定

625界定的操作示例

63类型约束

631类型约束的概述

632类型约束的操作示例

64类型系统

641类型系统的概述

642类型系统的操作示例

65型变Variance

651协变

652逆变

653协变与逆变的操作示例

66结合Spark源码说明Scala类型参数的使用

67小结

第7章Scala高级类型

71单例类型

711单例类型概述

712单例类型示例

72类型别名

721类型别名概述

722类型别名示例

73自身类型

731自身类型概述

732自身类型示例

74中置类型

741中置类型概述

742中置类型示例

75类型投影

751类型投影概述

752类型投影实例

76结构类型

761结构类型概述

762结构类型示例

77复合类型

771复合类型概述

772复合类型示例

78存在类型

781存在类型概述

782存在类型示例

79函数类型

791函数类型概述

792函数类型示例

710抽象类型

7101抽象类型概述

7102抽象类型实例

711Spark源码中的高级类型使用

712本章小结

第8章Scala隐式转换

81隐式转换函数

811隐式转换函数的定义

812隐式转换函数的功能

82隐式类与隐式对象

821隐式类

822隐式参数与隐式值

83类型证明中的隐式转换

831类型证明的定义

832类型证明使用实例

84上下文界定、视图界定中的隐式转换

841Ordering与Ordered特质

842视图界定中的隐式转换

843上下文界定中的隐式转换

85隐式转换规则

851发生隐式转换的条件

852不会发生隐式转换的条件

86Spark源码中的隐式转换使用

861隐式转换函数

862隐式类

863隐式参数

87本章小结

第9章Scala并发编程

91Scala的Actor模型简介

92Scala Actor的构建方式

921继承Actor类

922Actor工具方法

93Actor的生命周期

931start方法的等幂性

932Actor的不同状态

94Actor之间的通信

941Actor之间发送消息

942Actor接收消息

95使用react重用线程提升性能

96Channel通道

961OutputChannel

962InputChannel

963创建和共享channel

97同步和Future

98Scala并发编程实例

981Scala Actor并发编程

982ExecutorService并发编程

99小结

分布式框架篇

第10章Akka的设计理念

101Akka框架模型

102创建Actor

1021通过实现akkaactorActor来创建Actor类

1022使用非缺省构造方法创建 Actor

1023创建匿名Actor

103Actor API

1031Actor trait基本接口

1032使用DeathWatch进行生命周期监控

1033Hook函数的调用

1034查找Actor

1035消息的不可变性

1036发送消息

1037转发消息

1038接收消息

1039回应消息

10310终止Actor

10311Become/Unbecome

10312杀死Actor

104不同类型的Actor

1041方法派发语义

1042终止有类型Actor

105小结

第11章Akka核心组件及核心特性剖析

111Dispatchers 和 Routers

1111为Actor指定派发器

1112派发器的类型

1113邮箱

1114Routers

1115路由的使用

1116远程部署router

112Supervision和Monitoring

1121Supervision

1122Monitoring

113Akka中的事务

1131STM

1132使用STM事务

1133读取Agent事务中的数据

1134更新Agent事务中的数据

1135Actor中的事务

1136创建Transactor

114小结

第12章Akka程序设计实践

121Akka的配置、日志及部署

1211Akka中配置文件的读写

1212Akka中日志配置

1213Akka部署及应用场景

122使用Akka框架实现单词统计

123分布式Akka环境搭建

124使用Akka微内核部署应用

125Akka框架在Spark中的运用

126小结

第13章Kafka设计理念与基本架构

131Kafka产生的背景

132消息队列系统

1321概述

1322常用的消息队列系统对比

1323Kafka特点及特性

1324Kafka系统应用场景

133Kafka设计理念

1331专业术语解析

1332消息存储与缓存设计

1333消费者与生产者模型

1334Push与Pull机制

1335镜像机制

134Kafka整体架构

1341Kafka基本组成结构

1342Kafka工作流程

135Kafka性能分析及优化

136Kafka未来研究方向

137小结

第14章Kafka核心组件及核心特性剖析

141Kafka核心组件剖析

1411Producers

1412Consumers

1413Low Level Consumer

1414High Level Consumer

142Kafka核心特性剖析

1421Topic、Partitions

1422Replication和Leader Election

1423Consumer Rebalance

1424消息传送机制

1425Kafka的可靠性

1426Kafka的高效性

143Kafka即将发布版本核心组件及特性剖析

1431重新设计的Consumer

1432Coordinator Rebalance

144小结

第15章Kafka应用实践

151Kafka开发环境搭建及运行环境部署

1511Kafka开发环境配置

1512Kafka运行环境安装与部署

152基于Kafka客户端开发

1521消息生产者(Producer)设计

1522消息消费者(Consumer)设计

1523Kafka消费者与生产者配置

153Spark Streaming整合Kafka

1531基本架构设计流程

1532消息消费者(Consumer)设计——基于Receiver方法

1533消息消费者(Consumer)设计——基于No Receiver方法

1534消息生产者(Producer)设计

154小结

附录Kafka集群serverproperties配置文档

参考文献