Big Data + 機器學習,同時滿足儲存及運算,用Flink+Alink打造全智慧大數據平台
▌業界唯一
Flink是一個開放原始碼的分散式巨量資料處理引擎與計算框架。專門針對無界資料流程和有界資料流程進行統一處理,是業界唯一開放原始碼的分散式巨量資料處理引擎與計算框架。
▌最大特色
Flink最大的特色,就是能進行有狀態或無狀態的計算,對無界資料流程和有界資料流程進行統一處理,並且是一個開放原始碼的分散式巨量資料處理引擎與計算框架。
▌功能強大
Flink功能強大,可進行的資料處理包括即時資料處理、特徵工程、歷史資料(有界資料)處理、連續資料管道應用、機器學習、圖表分析、圖型計算、容錯的資料流程處理等。
市面上幾乎沒有介紹Flink的中文書籍,更別說Flink的最佳幫手機器學習Alink了。Alink號稱中文社區三大機器學習平台,擁有完整的生態系,本書最後兩章使用了Alink實作了一個推薦系統的實戰,這種只運用在巨型商業網站上的服務,現在也走入你我生活,讓我們也可以一窺高手養成的全貌,讓自己也邁向大師之列。
適合讀者
閱讀本書的讀者不需要具備巨量資料理論知識,也不需要懂得Hadoop、Spark、Storm 等巨量資料領域的知識,但是需要具備一定的Java 語言開發基礎(或至少使用過一種開發語言)。
作者
龍中華
擁有10多年一線企業開發經驗。對多種技術有深入瞭解和研究,致力於用技術為公司業務創造利潤。
曾在多家公司擔任主程式設計師和系統架構師,現就職於某大數據研究機構,擔任技術顧問。
目錄
●第 1 篇 入門篇 ●
01 進入巨量資料和人工智慧世界
1.1 認識巨量資料和人工智慧
1.2 認識Flink
1.3 認識Alink
1.4 如何使用本書的原始程式
02 實例1:使用Flink 的4種API 處理無界資料流程和有界資料流程
2.1 創建Flink 應用程式
2.2 使用DataSet API 處理有界資料流程
2.3 使用DataStream API 處理無界資料流程
2.4 使用Table API 處理無界資料流程和有界資料流程
2.5 使用SQL 處理無界資料流程和有界資料流程
2.6 生成執行計畫圖
● 第 2 篇 基礎篇 ●
03 概覽Flink
3.1 了解流處理和批次處理
3.2 Flink 的整體架構
3.3 Flink 的程式設計介面
3.4 Flink 的專案依賴
3.5 了解分散式執行引擎的環境
04 Flink 開發基礎
4.1 開發Flink 應用程式的流程
4.2 處理參數
4.3 自訂函數
4.4 資料類型和序列化
05 Flink 的轉換運算元
5.1 定義鍵
5.2 Flink 的通用轉換運算元
5.3 Flink 的DataSet API 專用轉換運算元
5.4 Flink 的DataStream API 專用轉換運算元
5.5 認識低階流處理運算元
5.6 疊代運算
● 第 3 篇 進階篇 ●
06 使用DataSet API 實現批次處理
6.1 DataSet API 的資料來源
6.2 操作函數中的資料物件
6.3 語義註釋
6.4 認識分散式快取和廣播變數
07 使用DataStream API 實現流處理
7.1 認識DataStream API
7.2 視窗
7.3 認識時間和水位線生成器
7.4 狀態
7.5 狀態持久化
7.6 旁路輸出
7.7 資料處理語義
7.8 實例33:自訂事件時間和水位線
08 使用狀態處理器API—State Processor API
8.1 認識狀態處理器API
8.2 將應用程式狀態映射到DataSet
8.3 讀取狀態
8.4 編寫新的保存點
8.5 修改保存點
8.6 實例34:使用狀態處理器API 寫入和讀取保存點
09 複雜事件處理函數庫
9.1 認識複雜事件處理函數庫
9.2 實例35:實現3 種模式的CEP 應用程式
9.3 認識模式API
9.4 檢測模式
9.5 複雜事件處理函數庫中的時間
10 使用Table API 實現流/批統一處理
10.1 Table API 和SQL
10.2 Table API 和SQL 的「流」的概念
10.3 Catalog
10.4 Table API、SQL 與DataStream和DataSet API 的結合
11 使用SQL 實現流/ 批統一處理
11.1 SQL 用戶端
11.2 SQL 敘述
11.3 變更資料獲取
11.4 認識流式聚合
11.5 實例43:使用DDL 創建表,並進行流式視窗聚合
12 整合外部系統
12.1 認識Flink 的連接器
12.2 非同步存取外部資料
12.3 外部系統拉取Flink 資料
12.4 認識Flink 的Kafka 連接器
12.5 實例44:在Flink 中生產和消費Kafka 訊息
●第 4 篇 機器學習篇 ●
13 進入機器學習世界
13.1 學習人工智慧的經驗
13.2 認識機器學習
13.3 機器學習的主要任務
13.4 開發機器學習應用程式的基礎
13.5 機器學習的分類
13.6 了解機器學習演算法
13.7 機器學習的評估模型
14 流/ 批統一的機器學習框架(平台)Alink
14.1 認識Alink 的概念和演算法函數庫
14.2 實例45:以流/批方式讀取、取樣和輸出資料集
14.3 實例46:使用分類演算法實現資料的情感分析
14.4 實例47:實現協作過濾式的推薦系統