Flink編程基礎:Scala版

Flink編程基礎:Scala版

《Flink編程基礎:Scala版》是2021年清華大學出版社出版的圖書。

基本介紹

  • 書名:Flink編程基礎:Scala版
  • 作者:林子雨,陶繼平
  • 出版社:清華大學出版社
  • 出版時間:2021年9月1日
  • 頁數:328 頁
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302583677
內容簡介,作者簡介,圖書目錄,

內容簡介

《Flink編程基礎(Scala版)(面向新工科專業建設計算機系列教材)》以Scala作為開發Flink應用程式的程式語言,系統地介紹了Flink編程的基礎知識。全書共8章,內容包括大數據技術概述、Scala語言基礎、Flink的設計與運行原理、Flink環境搭建和使用方法、DataStream API、DataSet API、Table API&SQL、FlinkCEP。本書主要章節都安排了入門級的編程實踐操作,以便讀者更好地學習和掌握Flink編程方法。本書官網免費提供了全套的線上教學資源,包括講義PPT、習題、原始碼、軟體、數據集、授課視頻、上機實驗指南等。
本書可作為高等院校大數據、計算機、軟體工程等專業的進階級“大數據”課程教材,用於指導Flink編程實踐,也可供相關技術人員參考。

作者簡介

林子雨(1978-),男,博士,國內高校知名大數據教師,廈門大學計算機科學系副教授,中國計算機學會資料庫專委會委員,中國計算機學會信息系統專委會委員,中國高校s個“數字教師”提出者和建設者。2013年開始在廈門大學開設大數據課程,建設了國內高校s個大數據課程公共服務平台,平台累計網路訪問量超過1000萬次,成為全國高校大數據教學知m品牌,並榮獲“2018年福建省教學成果二等獎”,主持的課程《大數據技術原理與套用》獲評“2018年國家精品線上開放課程”。

圖書目錄

第1章大數據技術概述1
1.1大數據概念與關鍵技術1
1.1.1大數據概念1
1.1.2大數據關鍵技術2
1.2代表性大數據技術3
1.2.1Hadoop4
1.2.2Spark8
1.2.3Flink10
1.2.4Beam13
1.3程式語言的選擇14
1.4線上資源15
1.5本章小結16
1.6習題16
實驗1Linux系統的安裝和常用命令17
第2章Scala語言基礎19
2.1Scala語言概述19
2.1.1計算機的緣起19
2.1.2編程範式20
2.1.3Scala簡介22
2.1.4Scala的安裝22
2.1.5HelloWorld23
2.2Scala的基礎編程知識25
2.2.1基本數據類型和變數25
2.2.2輸入輸出28
2.2.3控制結構31
2.2.4數據結構35
2.3面向對象編程基礎42
2.3.1類42
2.3.2對象48
2.3.3繼承53
2.3.4參數化類型57
2.3.5特質59
2.3.6模式匹配64
2.3.7包67
2.4函式式編程基礎68
2.4.1函式的定義與使用69
2.4.2高階函式71
2.4.3閉包72
2.4.4偏套用函式和Curry化72
2.4.5針對容器的操作74
2.4.6函式式編程實例80
2.5本章小結81
2.6習題82
實驗2Scala編程初級實踐83
第3章Flink的設計與運行原理88
3.1Flink簡介88
3.2選擇Flink的原因89
3.2.1傳統數據處理架構89
3.2.2大數據Lambda架構90
3.2.3流處理架構90
3.2.4Flink是理想的流計算框架91
3.2.5Flink的優勢92
3.3Flink典型套用場景94
3.3.1事件驅動型套用94
3.3.2數據分析套用95
3.3.3數據流水線套用97
3.4Flink的統一數據處理97
3.5Flink技術棧99
3.6Flink工作原理100
3.7Flink編程模型101
3.8Flink的應用程式結構102
3.9Flink的數據一致性103
3.9.1有狀態計算103
3.9.2數據一致性103
3.9.3異步屏障快照機制104
3.10本章小結105
3.11習題106
第4章Flink環境搭建和使用方法107
4.1安裝Flink107
4.1.1基礎環境107
4.1.2下載安裝檔案108
4.1.3配置相關檔案108
4.1.4運行測試樣例109
4.1.5Flink和Hadoop的互動110
4.2在Scala Shell中運行代碼110
4.3開發Flink獨立應用程式111
4.3.1安裝編譯打包工具Maven111
4.3.2開發批處理程式113
4.3.3開發流處理程式117
4.3.4使用IntelliJ IDEA開發Flink應用程式119
4.4設定程式運行並行度126
4.5Flink集群環境搭建127
4.5.1集群基礎配置127
4.5.2在集群中安裝Java129
4.5.3設定SSH無密碼登錄130
4.5.4安裝和配置Flink131
4.5.5啟動和關閉Flink集群133
4.6本章小結133
4.7習題134
實驗3Flink和Hadoop的安裝134
第5章DataStream API136
5.1DataStream編程模型136
5.1.1數據源137
5.1.2數據轉換149
5.1.3數據輸出160
5.2視窗的劃分163
5.3時間概念163
5.4視窗計算165
5.4.1視窗計算程式的結構165
5.4.2視窗分配器166
5.4.3視窗計算函式170
5.4.4觸發器177
5.4.5驅逐器180
5.5水位線183
5.5.1水位線原理183
5.5.2水位線的設定方法186
5.5.3水位線套用實例188
5.6延遲數據處理197
5.7狀態編程201
5.8本章小結203
5.9習題203
實驗4DataStream API編程實踐204
第6章DataSet API207
6.1DataSet編程模型207
6.2數據源208
6.2.1檔案類數據源208
6.2.2集合類數據源209
6.2.3通用類數據源209
6.2.4第三方檔案系統213
6.3數據轉換215
6.3.1數據處理類運算元216
6.3.2聚合操作類運算元217
6.3.3多表關聯類運算元220
6.3.4集合操作類運算元223
6.3.5分區操作類運算元223
6.4數據輸出224
6.5疊代計算226
6.5.1全量疊代226
6.5.2增量疊代229
6.6廣播變數230
6.7本章小結232
6.8習題232
實驗5DataSet API編程實踐233
第7章Table API&SQL236
7.1編程模型236
7.1.1程式執行原理236
7.1.2程式結構237
7.1.3TableEnvironment238
7.1.4註冊表239
7.1.5查詢表245
7.1.6輸出表248
7.1.7DataStream/DataSet與Table的相互轉換251
7.1.8時間概念258
7.2Flink Table API260
7.2.1Table API套用實例260
7.2.2掃描、投影和過濾261
7.2.3列操作263
7.2.4聚合操作263
7.2.5連線操作267
7.2.6集合操作268
7.2.7排序操作270
7.2.8插入操作270
7.2.9基於行的操作270
7.3Flink SQL280
7.3.1套用實例280
7.3.2數據查詢與過濾操作282
7.3.3聚合操作282
7.3.4連線操作283
7.3.5集合操作283
7.4自定義函式285
7.4.1標量函式285
7.4.2表值函式287
7.4.3聚合函式289
7.5本章小結291
7.6習題292
實驗6Table API& SQL編程實踐292
第8章FlinkCEP296
8.1概述296
8.2Pattern API297
8.2.1個體模式297
8.2.2複合模式299
8.2.3模式組301
8.2.4匹配後跳過策略302
8.3模式的檢測302
8.3.1匹配事件提取303
8.3.2逾時事件提取303
8.4套用實例304
8.5本章小結308
8.6習題308
實驗7FlinkCEP編程實踐308
參考文獻311

相關詞條

熱門詞條

聯絡我們