Flink編程基礎(Scala版)
林子雨,陶繼平
買這商品的人也買了...
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書以Scala作為開發Flink應用程序的編程語言,系統地介紹了Flink編程的基礎知識。全書共8章,內容包括大數據技術概述、Scala語言基礎、Flink的設計與運行原理、Flink環境搭建和使用方法、DataStream API、DataSet API、Table API&SQL、FlinkCEP。本書主要章節都安排了入門級的編程實踐操作,以便讀者更好地學習和掌握Flink編程方法。本書官網免費提供了全套的在線教學資源,包括講義PPT、習題、源代碼、軟件、數據集、授課視頻、上機實驗指南等。 本書可作為高等院校大數據、電腦、軟件工程等專業的進階級“大數據”課程教材,用於指導Flink編程實踐,也可供相關技術人員參考。
作者簡介
林子雨(1978-),男,博士,國內高校知名大數據教師,廈門大學計算機科學系副教授,中國計算機學會數據庫專委會委員,中國計算機學會信息系統專委會委員,中國高校首個“數字教師”提出者和建設者。
2013年開始在廈門大學開設大數據課程,建設了國內高校首個大數據課程公共服務平臺,平臺累計網絡訪問量超過1000萬次,成為全國高校大數據教學知名品牌,並榮獲“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開發流處理程序11
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



