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