實時流式計算,也就是realtime,streaming,analyse,在不同的領域有不同的定義,這裡我們說的是大資料領域的實時流式計算。
實時流式計算,或者是實時計算,流式計算,在大資料領域都是差不多的概念。那麼,到底什麼是實時流式計算呢?
谷歌大神tyler akidau在《the-world-beyond-batch-streaming-101》一文中提到過實時流式計算的三個特徵:
1、無限資料
2、無界資料處理
3、低延遲
無限資料指的是,一種不斷增長的,基本上無限的資料集。這些通常被稱為「流資料」,而與之相對的是有限的資料集。
無界資料處理,一種持續的資料處理模式,能夠通過處理引擎重複的去處理上面的無限資料,是能夠突破有限資料處理引擎的瓶頸的。
低延遲,延遲是多少並沒有明確的定義。但我們都知道資料的價值將隨著時間的流逝降低,時效性將是需要持續解決的問題。
現在大資料應用比較火爆的領域,比如推薦系統在實踐之初受技術所限,可能要一分鐘,一小時,甚至更久對使用者進行推薦,這遠遠不能滿足需要,我們需要更快的完成對資料的處理,而不是進行離線的批處理。
但是這種模型肯定會帶來離線批處理所不存在的兩個問題:正確性與時間。
而這也正是實時流式計算的關鍵點:
1、正確性 一旦正確性有了保證,可以匹敵批處理。
2、時間推導工具 而一旦提供了時間推導的工具,變完全超過了批處理。
總結來說,我們得到的會是一條條的,隨著時間流逝不斷增長的資料,我們需要進行實時的資料分析,我們要解決大資料量,災備,時序,時間視窗,效能等等問題。
而實時,流式其實是相對的概念,現在的很多技術更應該說是近實時,微批。但只要能不斷的優化這些問題,實時流式的計算的價值就會越來越大。
由於大資料興起之初,hadoop並沒有給出實時計算解決方案,隨後storm,sparkstreaming,flink等實時計算框架應運而生,而kafka,es的興起使得實時計算領域的技術越來越完善,而隨著物聯網,機器學習等技術的推廣,實時流式計算將在這些領域得到充分的應用。
下面簡單介紹目前常用的幾種應用場景,未來將對kafka,storm,sparkstreaming,flink等相關技術做具體介紹。
主要應用
1、日誌分析
比如對**的使用者訪問日誌進行實時的分析,計算訪問量,使用者畫像,留存率等等,實時的進行資料分析,幫助企業進行決策。
2、物聯網
比如對電力系統進行實時的資料檢測,進行報警,實時的顯示,或者根據歷史資料進行實時的分析,**。
3、車聯網
如今的車聯網已經不限於物聯網,還包括對使用者,交通等等進行分析的乙個龐大的系統,改善使用者出行。
4、金融風控
通過對交易等金融行為實時分析,**出未知風險。
實時流式計算框架 JStorm
1.本地除錯 a.步驟 生成topology 實現spout介面 實現bolt介面 編譯執行 b.加入依賴 dependency groupid com.alibaba.jstorm groupid artifactid jstorm core artifactid version 2.1.1 ve...
高大上的介紹實時流式計算!
實時流式計算,也就是realtime,streaming,analyse,在不同的領域有不同的定義,這裡我們說的是大資料領域的實時流式計算。實時流式計算,或者是實時計算,流式計算,在大資料領域都是差不多的概念。那麼,到底什麼是實時流式計算呢?谷歌大神tyler akidau在 the world b...
Storm學習筆記(一) 實時流式計算概述
下面主要通過如下4個問題來闡述什麼是實時流式計算 1.什麼是實時流式計算?流式計算 在不斷產 的資料流上的計算 實時流式計算 在不斷產 的資料流上的實時計算 2.資料背景下有哪些特點?時效性 很快得到結果 吞吐 應對 量的流量單機往往搞不定 容錯性 需要對 絡 機器 程序各種異常提供容錯機制 靈活性...