前言
基礎篇
第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配置文檔
參考文獻
· · · · · · (
收起)