本書以項目實踐作為主線,結(jié)合必需的理論知識,以任務(wù)的形式設(shè)計內(nèi)容,每個任務(wù)都包含任務(wù)描述及任務(wù)實施的步驟,讀者按照實施步驟進(jìn)行操作就可以完成相應(yīng)的學(xué)習(xí)任務(wù),從而不斷提升項目實踐能力。本書主要內(nèi)容涉及流式數(shù)據(jù)的基礎(chǔ)知識、Flink的簡介及發(fā)展歷史、Flink的系統(tǒng)架構(gòu)及Flink API介紹、Flink的集群部署模式、Flink流式API的基本應(yīng)用、Flink時間和窗口API的應(yīng)用、Flink高級應(yīng)用、Flink Table和SQL的應(yīng)用、Flink CEP的應(yīng)用、Kafka集群的安裝和常用操作,以及Flink、Flume和Kafka的集成方式。
本書適合需要使用Flink進(jìn)行大數(shù)據(jù)處理的程序員、架構(gòu)師和產(chǎn)品經(jīng)理作為技術(shù)參考手冊和培訓(xùn)資料,也可作為高校本科生和研究生的教材。
王璐烽,教授,世界技能大賽中國賽區(qū)裁判員、重慶市高校黃大年式教師團隊負(fù)責(zé)人、重慶市高校中青年骨干教師、重慶市高校優(yōu)秀思想政治工作者;撰寫論文20余篇,其中SCI/EI收錄或核心期刊10余篇;主編國家十三五規(guī)劃教材1本,其余4本;主持重慶市重大教改課題1項,重點1項,其余5項;主持重慶市重大科技項目1項;主持重慶市精品在線課程1門;獲得全國職業(yè)院校信息化教學(xué)大賽一等獎,重慶市科技進(jìn)步三等獎,中國通信工業(yè)協(xié)會教學(xué)成果特等獎;指導(dǎo)學(xué)生參加全國職業(yè)院校技能大賽獲一等獎、二等獎各1次;參與專業(yè)標(biāo)準(zhǔn)、1 X職業(yè)技能等級標(biāo)準(zhǔn)、重慶市人社局新職業(yè)(人工智能訓(xùn)練師)培訓(xùn)標(biāo)準(zhǔn)、考核標(biāo)準(zhǔn)等研制工作。
劉均,高級實驗師、高級技師、課程思政教學(xué)名師、全國職業(yè)院校技能大賽優(yōu)秀指導(dǎo)教師、重慶市黃大年教學(xué)團隊成員、重慶市高職院校1 X證書學(xué)習(xí)成果專業(yè)認(rèn)證委員會專家、云計算1 X中級講師、網(wǎng)絡(luò)工程師、國家職業(yè)技能鑒定中心考評員、重慶市政府采購評審專家;主要研究方向為計算機實驗實訓(xùn)教學(xué)、云計算運維技術(shù);主要從事大數(shù)據(jù)、云計算自動運維方面教學(xué)工作;參與省部級科研項目《基于運行大數(shù)據(jù)的工業(yè)機器人預(yù)測性維護關(guān)鍵技術(shù)研究》等項目3項;國家級在線精品課程《云計算之軟件定義網(wǎng)絡(luò)》主要成員,主要講授《云存儲技術(shù)》《Python程序設(shè)計》《云計算系統(tǒng)框架》等課程。
項目1 Flink開發(fā)環(huán)境搭建 1
任務(wù) 搭建Flink開發(fā)環(huán)境 2
【任務(wù)描述】 2
【知識鏈接】 2
【任務(wù)實施】 8
項目小結(jié) 18
思考與練習(xí) 18
項目2 Flink集群搭建 20
任務(wù)1 Flink集群搭建 21
【任務(wù)描述】 21
【知識鏈接】 21
【任務(wù)實施】 23
任務(wù)2 基于Flink實現(xiàn)單詞統(tǒng)計 26
【任務(wù)描述】 26
【任務(wù)實施】 26
任務(wù)3 Flink項目打包部署 34
【任務(wù)描述】 34
【任務(wù)實施】 34
項目小結(jié) 37
思考與練習(xí) 37
項目3 Flink流式API應(yīng)用 38
任務(wù)1 創(chuàng)建Flink程序執(zhí)行環(huán)境 39
【任務(wù)描述】 39
【知識鏈接】 39
【任務(wù)實施】 40
任務(wù)2 創(chuàng)建Flink數(shù)據(jù)源 40
【任務(wù)描述】 40
【知識鏈接】 41
【任務(wù)實施】 41
任務(wù)3 Flink轉(zhuǎn)換算子的應(yīng)用 44
【任務(wù)描述】 44
【知識鏈接】 45
【任務(wù)實施】 45
任務(wù)4 數(shù)據(jù)輸出 55
【任務(wù)描述】 55
【知識鏈接】 56
【任務(wù)實施】 56
項目小結(jié) 63
項目拓展 63
思考與練習(xí) 64
項目4 Flink時間和窗口API應(yīng)用 65
任務(wù)1 Flink時間語義和水位線 66
【任務(wù)描述】 66
【知識鏈接】 66
【任務(wù)實施】 68
任務(wù)2 Flink窗口操作 73
【任務(wù)描述】 73
【知識鏈接】 73
【任務(wù)實施】 75
任務(wù)3 Flink遲到數(shù)據(jù)處理 80
【任務(wù)描述】 80
【知識鏈接】 80
【任務(wù)實施】 81
項目小結(jié) 84
思考與練習(xí) 85
項目5 Flink高級應(yīng)用 87
任務(wù)1 Flink多數(shù)據(jù)流處理 88
【任務(wù)描述】 88
【知識鏈接】 88
【任務(wù)實施】 88
任務(wù)2 Flink狀態(tài)編程 95
【任務(wù)描述】 95
【知識鏈接】 95
【任務(wù)實施】 98
任務(wù)3 Flink容錯機制 101
【任務(wù)描述】 101
【知識鏈接】 101
【任務(wù)實施】 103
項目小結(jié) 104
思考與練習(xí) 105
項目6 Flink Table和SQL應(yīng)用 106
任務(wù)1 快速入門 107
【任務(wù)描述】 107
【知識鏈接】 107
【任務(wù)實施】 107
任務(wù)2 Flink Table和SQL基本API應(yīng)用 109
【任務(wù)描述】 109
【知識鏈接】 109
【任務(wù)實施】 113
任務(wù)3 Flink SQL函數(shù)的應(yīng)用 114
【任務(wù)描述】 114
【知識鏈接】 114
【任務(wù)實施】 115
任務(wù)4 Flink SQL高級應(yīng)用 119
【任務(wù)描述】 119
【知識鏈接】 119
【任務(wù)實施】 120
項目小結(jié) 122
思考與練習(xí) 123
項目7 Flink CEP應(yīng)用 124
任務(wù)1 Flink CEP入門 125
【任務(wù)描述】 125
【知識鏈接】 125
【任務(wù)實施】 127
任務(wù)2 Flink CEP綜合應(yīng)用 131
【任務(wù)描述】 131
【知識鏈接】 131
【任務(wù)實施】 136
項目小結(jié) 143
思考與練習(xí) 143
項目8 Flink集成Kafka應(yīng)用 145
任務(wù)1 Kafka集群安裝及常用操作 146
【任務(wù)描述】 146
【知識鏈接】 146
【任務(wù)實施】 148
任務(wù)2 Flink和Kafka集成 151
【任務(wù)描述】 151
【知識鏈接】 151
【任務(wù)實施】 152
任務(wù)3 綜合應(yīng)用案例 155
【任務(wù)描述】 155
【任務(wù)實施】 156
項目小結(jié) 161
思考與練習(xí) 162
項目9 網(wǎng)站日志實時分析系統(tǒng) 164
任務(wù)1 網(wǎng)站日志收集 165
【任務(wù)描述】 165
【知識鏈接】 165
【任務(wù)實施】 168
任務(wù)2 Flume與Kafka集成 169
【任務(wù)描述】 169
【知識鏈接】 169
【任務(wù)實施】 170
任務(wù)3 日志分析實現(xiàn) 172
【任務(wù)描述】 172
【任務(wù)實施】 172
項目小結(jié) 180
項目拓展 181
思考與練習(xí) 181
參考文獻(xiàn) 183