日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

01 大數據時代的新挑戰:實時流計算

社會需求和科技進步是螺旋式相互促進和提升的。“大數據”一詞最早由Roger Mougalas在2005年提出,所以我們姑且認為2005年是大數據時代的元年吧。

大數據技術之所以出現,是因為社會發展的程度已經開始要求我們具備處理海量數據的能力。之后,大數據技術逐漸發展和日趨完善的過程又反過來進一步促進社會產生更多、更豐富的數據。

隨著大數據技術的普及,IBM公司為我們總結了大數據的五大特點(也稱為5V特點),即Volume(大量)、Velocity(快速)、Variety(多樣)、Veracity(真實)和Value(價值),如圖1-1所示。

什么是大數據「實時流計算」?深度解析它的4大應用及4個特點

▲圖1-1 大數據的五大特點

大數據時代為人們帶來了豐富多彩的生活方式,讓人們充分享受著從大數據中挖掘而來的價值。但也正因為大數據產生得太多太快,讓我們開始疲于對正在發生的事情做出及時反應。

是的,面對無窮無盡的數據洪流,我們急需一種手段來幫助我們抓住并思考那些一閃而逝的瞬間。在這樣的背景下,實時流計算技術應運而生。

雖然不能像電影《超體》中女主角直接用手抓住并分析電磁波信息那樣,但至少實時流計算技術能夠幫助我們抓住數據流的瞬間,分析并挖掘出數據的實時價值。

千萬不要小瞧了數據的實時價值。據說在很久以前的歐洲戰場上,每次最先知道戰爭結果的不是后方的政府機構,而是股票交易所里的那些股票投資者。

俗話說,時間就是金錢,效率就是生命。所有實時流計算的目的都是為了獲得數據的實時價值。如果數據沒有實時價值,那么實時流計算也就失去了它存在的意義。

 

02 實時流計算使用場景

話說有一句至理名言:“天下武功,無堅不摧,唯快不破!”由此足可見“快”的重要性。更快、更完整地獲取數據,更快、更充分地挖掘出數據價值,已成為大數據時代各行各業的共識。

在線系統監控、移動數據和物聯網、金融風控、推薦系統等,雖然行業各不相同,但是它們有個共同點——實時流計算技術在這些領域發揮著越來越重要的作用。

1. 在線系統監控

互聯網行業蓬勃發展的背后,是各家企業機房里成千上萬的服務器。服務器在7×24小時(傳說中的007工作制)的作業過程中產生大量監控數據。

這些數據包含著服務器本身的健康狀況,如硬件狀態、資源使用情況和負載壓力等。第一時間知道服務器的健康狀況是非常重要的,可以避免因為一臺服務器宕機而后續造成的各種雪崩效應。

除了服務器本身以外,復雜的線上業務系統產生著更多的數據。如今一個每天億萬級別訪問量的系統已經司空見慣,產品花樣更是層出不窮。業務系統產生日志的數量級由GB變TB,再由TB變PB。

將線上日志導入實時流計算系統,我們可以實現一系列有實時價值的功能。

  • 最基本的功能是監控業務是否運營正常,如監控業務關鍵指標、發現故障模式等。
  • 高級些的功能是最大程度優化業務使用服務器的成本,如根據CPU、內存和I/O等資源的使用率動態擴展或縮減業務使用的服務器數量。
  • 更高級的功能是挖掘和探索新的業務模式,如CEP(Complex Event Processing,復雜事件處理)和在線統計學習或機器學習模型的各種運用等。

通過實時流計算技術,實時展現業務系統的健康狀況,提前避免可能的業務故障,最大程度優化業務使用服務器的成本,搶先發現新的業務模式和商機……這些都是實時流計算技術在在線系統監控領域價值的體現。

2. 移動數據和物聯網

移動終端、智能交通、共享單車、5G、工業4.0……如今在我們生活的時代,一波又一波的新名詞層出不窮。“移動”和“物聯”讓數據變得隨時隨地可得。數據越來越多,單位數據自身的價值卻越來越小。實時處理海量數據洪流,已成為移動和物聯網領域的當務之急。

例如,對于智能交通系統,傳統智能交通系統采用離線方式對交通數據做分析,交通決策不能及時做出;而通過對交通數據流進行實時分析,實時展現交通熱點路段、優化信號燈配時、指導行車線路,可實實在在減輕當前熱點路段壓力、縮減平均行車時間,如圖1-2所示。

什么是大數據「實時流計算」?深度解析它的4大應用及4個特點

▲圖1-2 基于Spark Streaming的Uber交通熱點路段分析及可視化系統

像智能交通這樣,優化生活環境,正是實時流計算技術在移動數據和物聯網領域體現的價值之一。

3. 金融風控

金融風控是實時流計算技術又一常用領域,如圖1-3所示。通常針對貸款的風控,可以分為貸前、貸中和貸后。在貸中和貸后,大多采用離線數據分析和數據可視化技術來實現風險控制。

什么是大數據「實時流計算」?深度解析它的4大應用及4個特點

▲圖1-3 基于Flink的實時欺詐檢測平臺

但是在貸前,特別是在許多現金貸產品中,為了給用戶帶來更好的產品體驗,必須在很短的時間內對用戶的信用、還款能力和還款意愿等做出評估。除了針對用戶本身的信用風險作分析外,還需要防止金融欺詐問題,如“薅羊毛”和多頭借貸。

通過實時流計算技術,在秒級甚至亞秒級,對用戶信用和欺詐風險做出判定,在保證可控風險的同時,提供良好的用戶體驗,進一步提高現金貸產品整體的競爭力。

4. 實時推薦

實時推薦是實時流計算技術的另一個常見應用場景。如今手機幾乎成為每一個年輕人的必備品。打開手機,聽音樂、瀏覽新聞、閱讀小說、看到心儀的東西買買買……

有一天你突然發現,手機應用越來越了解自己。它們知道推薦什么樣的音樂、新聞、小說和商品,并且推薦的東西大抵還是你所喜歡的。

現代推薦系統(見圖1-4)背后越來越多地出現了實時流計算技術的影子,通過實時分析從用戶手機上收集而來的行為數據,發掘用戶的興趣、偏好,給用戶推薦可能感興趣的內容或商品。或許很多人并不喜歡這種被機器引導的感覺,但是我們還是不可避免地越來越多地被它們所影響。

什么是大數據「實時流計算」?深度解析它的4大應用及4個特點

▲圖1-4 基于Spark Streaming的實時零售推薦系統

這里只是簡單地列舉了幾個流計算技術使用的場景。其實在越來越多的行業,很多傳統上用離線批處理技術完成的事情也逐漸轉變為采用實時流計算技術完成。所以,讀者不妨大膽發揮想象力,試著將實時流計算技術運用到生活的各個方面去,挖掘實時信息的潛在價值,說不定就會獲得一份驚喜。

03 實時流數據的特點

本節介紹了實時流計算技術的使用場景。實時流計算技術的處理對象是實時流數據。盡管實時流數據的來源千變萬化、豐富多彩,但歸納起來,實時流數據通常具有實時性、隨機性、無序性和無限性。

1. 實時性

之所以要采集實時流數據,并對其進行實時處理,是因為這些數據具有實時價值。例如,提前預警避免火災,貸前反欺詐避免騙貸,量化交易搶得市場先機等。如果事后再分析這些數據,這個時候火災已經發生,騙子已經卷款而逃,市場機會已經錯過,分析數據帶來的價值也只限于“前事不忘,后事之師”了。

因此,對實時流數據的計算和分析一定要在其實時價值消退之前完成,這就要求計算的時延必須小。有時候數據量大、計算復雜的原因會導致實時計算無法完成,這時甚至會犧牲結果的準確性,在保證誤差在可接受范圍的前提下,優先滿足計算的實時性。

2. 隨機性

流數據是真實世界發生各種事件的體現。真實世界事件的隨機發生,使得流數據的產生在時間和數量上具有隨機性。有時候在很長一段時間內只產生少量數據,有時候又會在很短時間內產生大量數據。

實時流數據的隨機性對實時流計算系統在各種流量和突發情況下的處理能力與服務穩定性提出要求。我們可以從數據采樣、數據緩沖、計算資源動態調整3個角度來解決實時流數據隨機性的問題。

有些情況下,流數據量很大,暫時超過了系統的處理能力,如果業務需求允許,則可以考慮丟棄部分數據,或者使用帶采樣性質的算法,減少計算壓力。如果數據不允許丟失,則可以采用帶緩沖和持久化能力的消息中間件來暫時緩沖數據,讓系統平穩處理數據流,削平流量高峰。

另外,在一些資源敏感的情況下,可能還需要實時流計算系統能夠根據流量壓力情況,動態增加或減少計算資源,使得在滿足實時流計算的同時,最大化計算資源的使用效率。

 

3. 無序性

流數據是一個關于時間的事件序列。我們通常希望事件會按照它們發生的時刻依次到達系統,但由于異步、并發、網絡延時、時間不同步和系統故障等諸多原因,嚴格意義上的全局有序是很難保證的,甚至幾乎不可能。

于是退而求其次,我們可以讓數據在局部時間窗口內有序。在目前主流的實時流計算框架中,常見的做法是將接收到的事件,按時間戳分發到一個個的時間窗口分片中,在等待一段時候后,再觸發時間窗口分片內數據的統一處理操作。

流數據中的時間有兩類:事件發生時間事件處理時間。事件發生時間是指事件發生的時刻,而事件處理時間則是系統處理事件的時刻。這兩種時間會導致流計算的過程和結果都有所不同,具體使用哪種時間因場景而異。

4. 無限性

流數據是一種隨時間無限增長的數據序列。這是流數據和批數據最本質的區別。批數據在每次處理時數據量是有限的,而流數據沒有“每次”的概念,它總在不斷產生,無窮無盡。流數據和批數據的區別,導致它們在系統架構和算法實現上都有所不同。

在系統架構上,實時流數據的無限性要求系統必須具備高可用性和實時處理能力。一方面,當系統發生故障時,如果系統沒有高可用性,則流數據會丟失,并會暫停流計算。這與實時流計算的目標(即在實時流數據上獲取實時價值)是相違背的,因此不可容忍。

另一方面,當系統處理能力不能跟上數據流產生的速度時,待處理的消息會越積越多。當積壓數量超過閾值后,具有有限存儲空間的系統必然會崩潰。為了消除已經存在的積壓消息,系統處理能力必須超過數據流產生的速度,否則積壓情況會一直存在。

在算法實現上,實時流數據的無限性對原本針對批數據設計的算法提出挑戰。一方面,實時流計算過程中的可用空間和可用時間都有更嚴苛的限制;另一方面,流計算的輸入數據隨時間無限增加,這和批處理算法的輸入是有限數據集有本質區別。因此,實時流計算使用的算法相比批處理算法,在算法實現和算法復雜度方面會有明顯不同。

在實時流數據的四大特點中,無限性是流數據相比批數據最大的區別,這直接導致了流處理和批處理的查詢模式有所不同。批處理是在固定數據集上進行不同的查詢,而流處理是在無限數據集上進行固定的查詢。實時性、隨機性和無序性既是實時流計算系統的特點,也是我們要解決的問題。

 

分享到:
標簽:數據庫
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定