- Flink原理深入與編程實戰:Scala+Java(微課視頻版)
- 辛立偉編著
- 779字
- 2023-07-17 18:54:27
1.2.2 數據分析應用程序
分析工作從原始數據中提取信息。傳統上,分析是作為對記錄事件的有界數據集的批處理查詢或應用程序執行的。為了將最新的數據合并到分析結果中,必須將其添加到待分析的數據集中,然后重新運行查詢或應用程序。結果被寫入存儲系統或作為報告發出。
使用復雜的流處理引擎,還可以實時執行分析。流查詢或應用程序不是讀取有限的數據集,而是攝入實時事件流,并隨著事件被消費而不斷生成和更新結果。結果要么寫入外部數據庫,要么作為內部狀態維護。例如,Dashboard應用程序可以從外部數據庫讀取最新結果,也可以直接查詢應用程序的內部狀態。
Apache Flink支持流及批處理分析應用程序,如圖1-5所示。

圖1-5 Apache Flink支持流及批處理分析應用程序
與批處理分析相比,連續流分析的優勢并不僅在于低時延(由于消除了周期性導入和查詢執行,從事件到洞察的時延要低得多),另一個方面是更簡單的應用程序架構。批處理分析管道由幾個獨立組件組成,用于定期調度數據攝入和查詢執行。可靠地運行這樣的管道并不簡單,因為一個組件的故障會影響管道的后續步驟。相比之下,流分析應用程序運行在復雜的流處理器(如Flink)上,它包含從數據攝取到連續結果計算的所有步驟,因此,它可以依靠引擎的故障恢復機制。
Flink為連續流和批處理分析提供了非常好的支持。具體來講,它具有一個符合ANSI的SQL接口,具有用于批處理和流查詢的統一語義。無論SQL查詢是在記錄事件的靜態數據集上運行,還是在實時事件流上運行,它們都會計算出相同的結果。對用戶定義函數的豐富支持確保可以在SQL查詢中執行定制代碼。如果需要更多的定制邏輯,Flink的DataStream API或DataSet API提供了更多的底層控制。此外,Flink的Gelly庫為批量數據集的大規模和高性能圖分析提供了算法和構建塊。
典型的數據分析應用程序包括:
(1)電信網絡質量監控。
(2)移動應用程序中的產品更新及用戶體驗分析。
(3)消費者技術中實時數據的即時(Ad Hoc)分析。
(4)大規模圖分析。
- Google Flutter Mobile Development Quick Start Guide
- Eclipse Plug-in Development:Beginner's Guide(Second Edition)
- Windows Forensics Cookbook
- 精通MATLAB(第3版)
- Access 2010數據庫應用技術(第2版)
- Unity UI Cookbook
- Node學習指南(第2版)
- 快速入門與進階:Creo 4·0全實例精講
- 編程可以很簡單
- 多模態數據分析:AGI時代的數據分析方法與實踐
- Learning C++ by Creating Games with UE4
- Java高級程序設計
- INSTANT LESS CSS Preprocessor How-to
- Splunk Essentials
- Getting Started with Windows Server Security