近二十年大数据行业怎么样?解决了什么?经历了什么?
導讀:2001-2020,21世紀的前20年已接近尾聲,大數據從無到有,從火爆到被質疑。本文帶你了解這20年里,大數據解決了哪些問題、面臨著哪些挑戰?
?
作者:阿爾伯特·比費特(Albert Bifet)、理查德·戈華達(Richard Gavaldà)、杰弗里·福爾摩斯(Geoffrey Holmes)、伯恩哈德·普法林格(Bernhard Pfahringer)
譯者:陳瑤、姚毓夏
?
當今世界,每一天人們通過各種各樣的電子終端制造海量的數據,這些數據有不同的形式,并且來自于一些獨立的或關聯的應用。
?
我們現有的數據處理、分析、存儲和理解能力,在這股大數據的洪流面前顯得力不從心。社交網絡應用誕生普及以來,用戶可以隨心所欲地發布內容,這更加速了數據的快速增長,讓本已擁有海量數據的互聯網變得更為龐大。
?
不僅如此,手機里的感應器正從我們身上實時讀取各個方面的數據。一部手機可以處理的數據量遠遠不止通話記錄這么簡單,畢竟通話記錄的發明只是為了方便結賬。
?
可以預見的是物聯網(IoT)會把數據規模提升到一個前所未有的高度。到時候,任何人和任何機器(不論是家用咖啡機還是轎車和公共汽車,不論是在火車站還是在機場)都有著松散的聯系。
?
數以萬億計的相連物體無疑會產生巨大的信息海洋,而我們必須大海撈針,去發現有價值的信息,從而提升生活質量,讓世界變得更好。例如,每天早上起床后,為了最優化通勤時間,信息處理系統需要綜合處理交通、天氣、建筑、警察管制和你的日程安排信息,并在有限的時間里進行深度優化。
?
為了處理多到讓人難以置信的數據,我們需要快捷高效、合理利用資源的實時處理方法。
?
01 大數據
?
用一個具體的數據大小來定義“大數據”是沒有意義的,哪怕用拍字節(PB,相當于一千兆字節)也不夠。比較有意義的定義是大數據通常太大而難以用常規算法和技術來管理,尤其是當我們要從中提取知識的時候。
?
二十年前人們還在為吉字節(GB)量的數據掙扎,而寫本文的時候糾結的單位已經變成了下表中的太字節(TB)和拍字節(PB)。毫無疑問二十幾年后,我們糾結的數據單位會變成表格更下面的幾行。
?
(單位:字節)
?
2001年,在Gartner工作的分析師Doug Laney用3個V特性定義了大數據管理:
?
-
數據容量(volume):數據量前所未有且持續增長,但是我們能處理的數據量相對而言并沒有增加。
-
數據種類(variety):數據種類繁多,有文字、傳感器數據、音頻、視頻、圖片等,我們要從所有這些數據中提取信息。
-
數據運動(velocity):數據源源不斷,我們想從中實時獲取有用的信息。
?
而后其他V特性又被陸續添加進來:
?
-
數據可變性(variability):數據結構或者說用戶解釋數據的方法,一直在變化。
-
數據價值(value):數據有用之處僅僅在于其能導向更佳的決策并最終贏得優勢。
-
數據可靠性(validity and veracity):有些數據不完全可靠,必須要控制這些不確定性。
?
Gartner公司在2012年把大數據的定義總結為:
?
體量龐大、高速變動和種類繁多的信息資產,需要采用經濟型和創新型的信息處理方式,以增強信息洞察及決策的能力。
?
大數據的應用應該讓人們獲得更好的服務、更佳的消費體驗和更高的健康質量:
?
-
商業:個性化體驗和客戶流失檢測。
-
科技:把處理時間的單位從小時級降低到秒級。
-
健康:挖掘醫療記錄和基因數據,以監控病情、提升健康水平。
-
智慧城市:專注發展可持續經濟和高質量生活,合理有效地利用自然資源。
?
舉一個大數據挖掘的應用案例,我們來看一下Global Pulse是如何工作的。Global Pulse是一個聯合國的倡議組織,旨在利用大數據改善發展中國家人民的生活質量 。該組織由大數據創新實驗室構成,其大數據挖掘策略如下:
?
研究新的方法和技術來分析實時電子數據,盡早檢測出潛在的漏洞。
組裝一個免費、開源的技術工具套件,來分析實時數據并分享研究假設。
建立綜合的全球Pulse實驗室網絡,從國家層面試行數據挖掘策略。
?
大數據挖掘的改革并不僅限于工業化國家,因為手機在發展國家也逐漸普及開來。全球超過50億部的手機中,大約80%都源自發展中國家。
?
1. 工具:開源革命
?
大數據的現象本質上和開源軟件革命息息相關。大公司比如雅虎、推特、領英、谷歌和Facebook都從開源項目中受益,并且對其做出貢獻,例如:
?
-
Apache Hadoop
?
這是一個基于MapReduce編程模型和Hadoop分布式文件系統(HDFS)的平臺,用于運行數據密集型的分布式應用。用戶可以在Hadoop上快速開發應用,在計算機集群上并行處理海量數據。
?
Apache Hadoop的相關項目:Apache Pig、Apache Hive、Apache HBase、Apache ZooKeeper、Apache Cassandra、Cascading、Scribe和Apache Mahout都是主要基于Hadoop,具有拓展性的機器學習和數據挖掘開源軟件。
?
-
Apache Spark
?
這是一個運行在Hadoop架構上,專為大規模數據處理而設計的數據處理引擎。Spark提供了大量的庫,包括SQL、DataFrames、MLlib for machine learning、GraphX和Spark Streaming。開發者可以在同一個應用中無縫組合使用這些庫。
?
-
Apache Flink
?
這是一個流式的數據流執行引擎,為數據流的分布式計算提供了數據分布、數據通信和容錯機制。基于流執行引擎,Flink提供了幾個易于開發應用的API。如果說Apache Spark的Spark Streaming是個可以用微批次數據來模擬流處理的批處理引擎,那么Apache Flink就是可以做到批處理的流處理引擎。
?
-
Apache Storm
?
這是一個分布式數據流處理系統,同Apache S4及Apache Samza類似。
?
-
TensorFlow
?
這是一個用機器學習和深度神經網絡的開源包。
?
2. 大數據帶來的挑戰
?
由于數據的本質:龐大、多樣、變化,大數據的管理和分析在未來仍有諸多挑戰。接下來幾年,研究者和從業者需要處理的部分挑戰如下:
?
-
架構分析
?
目前尚不清楚如何搭建最優化的架構分析系統,用于同時處理歷史數據和實時數據。第一個架構是Nathan Martz提出的Lambda架構。
?
Lambda架構劃成三層:批處理層、服務層和速度層,可以在任何數據上實時運行任意功能。它在同一個系統里整合了Hadoop和Storm,分別用于批處理層和速度層的計算。一個更近期的方案是由領英的Kreps提出的Kappa架構。它簡化了Lambda架構,刪去了批量處理系統。
?
-
評估
?
有效的評估方法是得出重要的統計結論,并且避免概率的陷阱。如果“多重假設問題”沒有處理好,很容易像Efron說的那樣,一下子在大數據集和成千上萬亟待解答的問題上出錯。
?
在進行數據評估時,更重要的是避免陷入紙上談兵的誤區,即只注重技術上的衡量標準,比如錯誤率和速度,而忽視了對現實的影響。Wagstaff曾討論過,想要駁倒那些覺得大數據徒有虛名的人,唯一的辦法就是定期發布達到挑戰性問題的合理標準的應用,就像他的論文里解釋的那樣。
?
-
分布式挖掘
?
許多數據挖掘技術都在分布式挖掘上也有一定用途。為了開發出這些技術的分布式版本,需要更多實驗研究和理論分析。
?
-
數據變化
?
數據可能隨時變化,因此大數據挖掘技術要注重靈活應變,有時還要能明確偵測到變化。正是這種需求促進了本書的許多數據流挖掘技術的開發。
?
-
數據壓縮
?
存儲空間的大小和大數據處理息息相關。節省空間有兩個主要的途徑:壓縮,無損于信息;或者取樣,選擇具有代表性的數據。壓縮耗時更多而需要的空間更少,相當于化時間為空間。取樣雖然有損信息,但是可以節省數量級的空間。比如Feldman等人就用核集(coreset)簡化了大數據的問題。核集是數據集的一個小子集,能夠可靠地估算原本的數據。
?
-
數據可視化
?
大數據分析還有一個主要問題就是如何可視化結果,其挑戰在于要用易于理解的方法表現大量數據里的信息。就像The Human Face of Big Data這本書所說,大數據可視化需要新的技術和框架來呈現故事。
?
-
隱藏的大數據
?
大部分原本有用的數據實際上都沒發揮作用,因為它們沒加標簽、基于文件或者非結構化。2012年IDC對大數據的研究解釋道,如果能加上標簽和分析,2012年里有23%(632艾字節)的數字世界能夠被用于大數據。然而那時只有3%可能有用的數據被加上了標簽,被分析的數據就更少了。
?
這個數字這幾年可能還在下降。開放數據和語義網運動的出現讓我們意識到了這個問題,并且改善了情況。
?
?
02 實時分析
?
一個大數據的著名例子是實時分析。對一個組織來說,重要的不僅是立即獲得查詢結果,更是根據剛剛產生的數據進行查詢。
?
1. 數據流
?
數據流是一個用于支持實時分析的抽象的算法概念。數據流是指一系列的數據項,可以是無限的。每一個數據項都有時間戳,所以也就有了時間順序。數據項接踵而至,而我們想要建立并維護這些實時數據項的模型,比如模式或者預測者。
?
處理數據流的時候,在算法方面有兩個主要挑戰:數據流數據龐大并且流動速度快,而我們需要從中實時提取信息。這意味著通常需要接受近似的解決方案,以便節省時間和內存;另一個挑戰是數據會演變,所以我們建立的模型要能適應數據里的變化。
?
2. 時間和內存
?
準確度、時間和內存是數據流挖掘的三個主要維度:我們希望得到用最少時間和最小總內存,獲取最高準確度的方法。
?
只要把時間和內存合并到單一成本測量,就完全有可能把評估降維到二維任務。另外要注意的還有,與傳統的數據挖掘類似,因為高速數據流無法緩沖,所以處理單個數據項的時間和總時間是相關的。
?
3. 應用一覽
?
產生數據流的場景有很多,這里我們舉幾個例子:
?
-
傳感器數據和物聯網:每天越來越多的傳感器用于工業中的過程監控和質量改善。城市也開始部署龐大的傳感器網絡,用于監控人流的移動,檢查道路和橋梁的健康情況、市內交通和人口的重要常數(vital constant)等。
-
遠程通信:遠程通信公司有大量的手機通話記錄。現在,手機通話和位置也變成了需要實時處理的大數據來源。
-
社交媒體:在社交網站比如Facebook、推特、領英和Instagram上,用戶持續產生互動和貢獻的數據。隨之產生了兩個需要實時數據分析的問題:話題社群的發現和情感分析。
-
市場和電子商務:銷售行業正在實時收集大量交易數據,分析其背后價值,并且探測電子交易中的詐騙。
-
健康護理:照料病人的時候,醫院收集大量時效性很強的數據,并且監控病人的重要指標,比如血壓、心率和體溫。遠程醫療還會監控病人在家的數據,可能用不同的傳感器檢測他們的日常活動。這樣的系統還可以處理實驗測試結果、病例報告、X光和數字圖片。有些數據可用于實時提供病人身體情況變化的警報。
-
流行病和災害:源于網絡的數據流可以用來探測流行病和自然災害,還可以和各種官方中心的統計結合,用于進行疾病和災害的控制和預防。
-
計算機安全:計算機系統要防范盜竊和一切對硬件、軟件和信息的傷害,還要防范來自系統內部服務的打斷和誤導,特別是內在的威脅檢測和入侵檢測。
-
電力需求預測:供應商需要提前知道客戶的用電情況,而這個指數會隨著天數、年數、地理、天氣、經濟狀況、用戶習慣和其他因素改變。要從大量分散的數據中預測結果是一個相當復雜的問題。
?
關于作者:Albert Bifet,巴黎高等電信學院的計算機科學教授,數據、智能和圖形組的負責人,他的研究興趣主要集中在人工智能、大數據科學和數據流的機器學習方面。
Richard Gavalda,加泰羅尼亞理工大學的計算機科學教授。
Geoffrey Holmes,懷卡托大學的計算機科學系主任和教授。
Bernhard Pfahringer,奧克蘭大學的計算機科學教授。
總結
以上是生活随笔為你收集整理的近二十年大数据行业怎么样?解决了什么?经历了什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据架构如何做到流批一体?【对于Fli
- 下一篇: 中国顶级互联网公司的技术组织架构调整预示