㈠ 大數據時代的數據怎麼挖掘
3月13日下午,南京郵電大學計算機學院、軟體學院院長、教授李濤在CIO時代APP微講座欄目作了題為《大數據時代的數據挖掘》的主題分享,深度詮釋了大數據及大數據時代下的數據挖掘。
眾所周知,大數據時代的大數據挖掘已成為各行各業的一大熱點。
一、數據挖掘
在大數據時代,數據的產生和收集是基礎,數據挖掘是關鍵,數據挖掘可以說是大數據最關鍵也是最基本的工作。通常而言,數據挖掘也稱為DataMining,或知識發現Knowledge Discovery from Data,泛指從大量數據中挖掘出隱含的、先前未知但潛在的有用信息和模式的一個工程化和系統化的過程。
不同的學者對數據挖掘有著不同的理解,但個人認為,數據挖掘的特性主要有以下四個方面:
1.應用性(A Combination of Theory and Application):數據挖掘是理論演算法和應用實踐的完美結合。數據挖掘源於實際生產生活中應用的需求,挖掘的數據來自於具體應用,同時通過數據挖掘發現的知識又要運用到實踐中去,輔助實際決策。所以,數據挖掘來自於應用實踐,同時也服務於應用實踐,數據是根本,數據挖掘應以數據為導向,其中涉及到演算法的設計與開發都需考慮到實際應用的需求,對問題進行抽象和泛化,將好的演算法應用於實際中,並在實際中得到檢驗。
2.工程性(An Engineering Process):數據挖掘是一個由多個步驟組成的工程化過程。數據挖掘的應用特性決定了數據挖掘不僅僅是演算法分析和應用,而是一個包含數據准備和管理、數據預處理和轉換、挖掘演算法開發和應用、結果展示和驗證以及知識積累和使用的完整過程。而且在實際應用中,典型的數據挖掘過程還是一個交互和循環的過程。
3.集合性(A Collection of Functionalities):數據挖掘是多種功能的集合。常用的數據挖掘功能包括數據探索分析、關聯規則挖掘、時間序列模式挖掘、分類預測、聚類分析、異常檢測、數據可視化和鏈接分析等。一個具體的應用案例往往涉及多個不同的功能。不同的功能通常有不同的理論和技術基礎,而且每一個功能都有不同的演算法支撐。
4.交叉性(An Interdisciplinary Field):數據挖掘是一門交叉學科,它利用了來自統計分析、模式識別、機器學習、人工智慧、信息檢索、資料庫等諸多不同領域的研究成果和學術思想。同時一些其他領域如隨機演算法、資訊理論、可視化、分布式計算和最優化也對數據挖掘的發展起到重要的作用。數據挖掘與這些相關領域的區別可以由前面提到的數據挖掘的3個特性來總結,最重要的是它更側重於應用。
綜上所述,應用性是數據挖掘的一個重要特性,是其區別於其他學科的關鍵,同時,其應用特性與其他特性相輔相成,這些特性在一定程度上決定了數據挖掘的研究與發展,同時,也為如何學習和掌握數據挖掘提出了指導性意見。如從研究發展來看,實際應用的需求是數據挖掘領域很多方法提出和發展的根源。從最開始的顧客交易數據分析(market basket analysis)、多媒體數據挖掘(multimedia data mining)、隱私保護數據挖掘(privacy-preserving data mining)到文本數據挖掘(text mining)和Web挖掘(Web mining),再到社交媒體挖掘(social media mining)都是由應用推動的。工程性和集合性決定了數據挖掘研究內容和方向的廣泛性。其中,工程性使得整個研究過程里的不同步驟都屬於數據挖掘的研究范疇。而集合性使得數據挖掘有多種不同的功能,而如何將多種功能聯系和結合起來,從一定程度上影響了數據挖掘研究方法的發展。比如,20世紀90年代中期,數據挖掘的研究主要集中在關聯規則和時間序列模式的挖掘。到20世紀90年代末,研究人員開始研究基於關聯規則和時間序列模式的分類演算法(如classification based on association),將兩種不同的數據挖掘功能有機地結合起來。21世紀初,一個研究的熱點是半監督學習(semi-supervised learning)和半監督聚類(semi-supervised clustering),也是將分類和聚類這兩種功能有機結合起來。近年來的一些其他研究方向如子空間聚類(subspace clustering)(特徵抽取和聚類的結合)和圖分類(graph classification)(圖挖掘和分類的結合)也是將多種功能聯系和結合在一起。最後,交叉性導致了研究思路和方法設計的多樣化。
前面提到的是數據挖掘的特性對研究發展及研究方法的影響,另外,數據挖掘的這些特性對如何學習和掌握數據挖掘提出了指導性的意見,對培養研究生、本科生均有一些指導意見,如應用性在指導數據挖掘時,應熟悉應用的業務和需求,需求才是數據挖掘的目的,業務和演算法、技術的緊密結合非常重要,了解業務、把握需求才能有針對性地對數據進行分析,挖掘其價值。因此,在實際應用中需要的是一種既懂業務,又懂數據挖掘演算法的人才。工程性決定了要掌握數據挖掘需有一定的工程能力,一個好的數據額挖掘人員首先是一名工程師,有很強大的處理大規模數據和開發原型系統的能力,這相當於在培養數據挖掘工程師時,對數據的處理能力和編程能力很重要。集合性使得在具體應用數據挖掘時,要做好底層不同功能和多種演算法積累。交叉性決定了在學習數據挖掘時要主動了解和學習相關領域的思想和技術。
因此,這些特性均是數據挖掘的特點,通過這四個特性可總結和學習數據挖掘。
二、大數據的特徵
大數據(bigdata)一詞經常被用以描述和指代信息爆炸時代產生的海量信息。研究大數據的意義在於發現和理解信息內容及信息與信息之間的聯系。研究大數據首先要理清和了解大數據的特點及基本概念,進而理解和認識大數據。
研究大數據首先要理解大數據的特徵和基本概念。業界普遍認為,大數據具有標準的「4V」特徵:
1.Volume(大量):數據體量巨大,從TB級別躍升到PB級別。
2.Variety(多樣):數據類型繁多,如網路日誌、視頻、圖片、地理位置信息等。
3.Velocity(高速):處理速度快,實時分析,這也是和傳統的數據挖掘技術有著本質的不同。
4.Value(價值):價值密度低,蘊含有效價值高,合理利用低密度價值的數據並對其進行正確、准確的分析,將會帶來巨大的商業和社會價值。
上述「4V」特點描述了大數據與以往部分抽樣的「小數據」的主要區別。然而,實踐是大數據的最終價值體現的唯一途徑。從實際應用和大數據處理的復雜性看,大數據還具有如下新的「4V」特點:
5.Variability(變化):在不同的場景、不同的研究目標下數據的結構和意義可能會發生變化,因此,在實際研究中要考慮具體的上下文場景(Context)。
6.Veracity(真實性):獲取真實、可靠的數據是保證分析結果准確、有效的前提。只有真實而准確的數據才能獲取真正有意義的結果。
7.Volatility(波動性)/Variance(差異):由於數據本身含有噪音及分析流程的不規范性,導致採用不同的演算法或不同分析過程與手段會得到不穩定的分析結果。
8.Visualization(可視化):在大數據環境下,通過數據可視化可以更加直觀地闡釋數據的意義,幫助理解數據,解釋結果。
綜上所述,以上「8V」特徵在大數據分析與數據挖掘中具有很強的指導意義。
三、大數據時代下的數據挖掘
在大數據時代,數據挖掘需考慮以下四個問題:
大數據挖掘的核心和本質是應用、演算法、數據和平台4個要素的有機結合。
因為數據挖掘是應用驅動的,來源於實踐,海量數據產生於應用之中。需用具體的應用數據作為驅動,以演算法、工具和平台作為支撐,最終將發現的知識和信息應用到實踐中去,從而提供量化的、合理的、可行的、且能產生巨大價值的信息。
挖掘大數據中隱含的有用信息需設計和開發相應的數據挖掘和學習演算法。演算法的設計和開發需以具體的應用數據作為驅動,同時在實際問題中得到應用和驗證,而演算法的實現和應用需要高效的處理平台,這個處理平台可以解決波動性問題。高效的處理平台需要有效分析海量數據,及時對多元數據進行集成,同時有力支持數據化對演算法及數據可視化的執行,並對數據分析的流程進行規范。
總之,應用、演算法、數據、平台這四個方面相結合的思想,是對大數據時代的數據挖掘理解與認識的綜合提煉,體現了大數據時代數據挖掘的本質與核心。這四個方面也是對相應研究方面的集成和架構,這四個架構具體從以下四個層面展開:
應用層(Application):關心的是數據的收集與演算法驗證,關鍵問題是理解與應用相關的語義和領域知識。
數據層(Data):數據的管理、存儲、訪問與安全,關心的是如何進行高效的數據使用。
演算法層(Algorithm):主要是數據挖掘、機器學習、近似演算法等演算法的設計與實現。
平台層(Infrastructure):數據的訪問和計算,計算平台處理分布式大規模的數據。
綜上所述,數據挖掘的演算法分為多個層次,在不同的層面有不同的研究內容,可以看到目前在做數據挖掘時的主要研究方向,如利用數據融合技術預處理稀疏、異構、不確定、不完整以及多來源數據;挖掘復雜動態變化的數據;測試通過局部學習和模型融合所得到的全局知識,並反饋相關信息給預處理階段;對數據並行分布化,達到有效使用的目的。
四、大數據挖掘系統的開發
1.背景目標
大數據時代的來臨使得數據的規模和復雜性都出現爆炸式的增長,促使不同應用領域的數據分析人員利用數據挖掘技術對數據進行分析。在應用領域中,如醫療保健、高端製造、金融等,一個典型的數據挖掘任務往往需要復雜的子任務配置,整合多種不同類型的挖掘演算法以及在分布式計算環境中高效運行。因此,在大數據時代進行數據挖掘應用的一個當務之急是要開發和建立計算平台和工具,支持應用領域的數據分析人員能夠有效地執行數據分析任務。
之前提到一個數據挖掘有多種任務、多種功能及不同的挖掘演算法,同時,需要一個高效的平台。因此,大數據時代的數據挖掘和應用的當務之急,便是開發和建立計算平台和工具,支持應用領域的數據分析人員能夠有效地執行數據分析任務。
2.相關產品
現有的數據挖掘工具
有Weka、SPSS和SQLServer,它們提供了友好的界面,方便用戶進行分析,然而這些工具並不適合進行大規模的數據分析,同時,在使用這些工具時用戶很難添加新的演算法程序。
流行的數據挖掘演算法庫
如Mahout、MLC++和MILK,這些演算法庫提供了大量的數據挖掘演算法。但這些演算法庫需要有高級編程技能才能進行任務配置和演算法集成。
最近出現的一些集成的數據挖掘產品
如Radoop和BC-PDM,它們提供友好的用戶界面來快速配置數據挖掘任務。但這些產品是基於Hadoop框架的,對非Hadoop演算法程序的支持非常有限。沒有明確地解決在多用戶和多任務情況下的資源分配。
3.FIU-Miner
為解決現有工具和產品在大數據挖掘中的局限性,我們團隊開發了一個新的平台——FIU-Miner,它代表了A Fast,Integrated,and User-Friendly System for Data Miningin Distributed Environment。它是一個用戶友好並支持在分布式環境中進行高效率計算和快速集成的數據挖掘系統。與現有數據挖掘平台相比,FIU-Miner提供了一組新的功能,能夠幫助數據分析人員方便並有效地開展各項復雜的數據挖掘任務。
與傳統的數據挖掘平台相比,它提供了一些新的功能,主要有以下幾個方面:
A.用戶友好、人性化、快速的數據挖掘任務配置。基於「軟體即服務」這一模式,FIU-Miner隱藏了與數據分析任務無關的低端細節。通過FIU-Miner提供的人性化用戶界面,用戶可以通過將現有演算法直接組裝成工作流,輕松完成一個復雜數據挖掘問題的任務配置,而不需要編寫任何代碼。
B.靈活的多語言程序集成。允許用戶將目前最先進的數據挖掘演算法直接導入系統演算法庫中,以此對分析工具集合進行擴充和管理。同時,由於FIU-Miner能夠正確地將任務分配到有合適運行環境的計算節點上,所以對這些導入的演算法沒有實現語言的限制。
C.異構環境中有效的資源管理。FIU-Miner支持在異構的計算環境中(包括圖形工作站、單個計算機、和伺服器等)運行數據挖掘任務。FIU-Miner綜合考慮各種因素(包括演算法實現、伺服器負載平衡和數據位置)來優化計算資源的利用率。
D.有效的程序調度和執行。
應用架構上包括用戶界面層、任務和系統管理層、邏輯資源層、異構的物理資源層。這種分層架構充分考慮了海量數據的分布式存儲、不同數據挖掘演算法的集成、多重任務的配置及系統用戶的交付功能。一個典型的數據挖掘任務在應用之中需要復雜的主任務配置,整合多種不同類型的挖掘演算法。因此,開發和建立這樣的計算平台和工具,支持應用領域的數據分析人員進行有效的分析是大數據挖掘中的一個重要任務。
FIU-Miner系統用在了不同方面:如高端製造業、倉庫智能管理、空間數據處理等,TerraFly GeoCloud是建立在TerraFly系統之上的、支持多種在線空間數據分析的一個平台。提供了一種類SQL語句的空間數據查詢與挖掘語言MapQL。它不但支持類SQL語句,更重要的是可根據用戶的不同要求,進行空間數據挖掘,渲染和畫圖查詢得到空間數據。通過構建空間數據分析的工作流來優化分析流程,提高分析效率。
製造業是指大規模地把原材料加工成成品的工業生產過程。高端製造業是指製造業中新出現的具有高技術含量、高附加值、強競爭力的產業。典型的高端製造業包括電子半導體生產、精密儀器製造、生物制葯等。這些製造領域往往涉及嚴密的工程設計、復雜的裝配生產線、大量的控制加工設備與工藝參數、精確的過程式控制制和材料的嚴格規范。產量和品質極大地依賴流程管控和優化決策。因此,製造企業不遺餘力地採用各種措施優化生產流程、調優控制參數、提高產品品質和產量,從而提高企業的競爭力。
在空間數據處理方面,TerraFly GeoCloud對多種在線空間數據分析。對傳統數據分析而言,其難點在於MapQL語句比較難寫,任務之間的關系比較復雜,順序執行之間空間數據分許效率較低。而FIU-Miner可有效解決以上三個難點。
總結而言,大數據的復雜特徵對數據挖掘在理論和演算法研究方面提出了新的要求和挑戰。大數據是現象,核心是挖掘數據中蘊含的潛在信息,並使它們發揮價值。數據挖掘是理論技術和實際應用的完美結合。數據挖掘是理論和實踐相結合的一個例子。
㈡ 如何進行大數據分析及處理
大數據的分析從所周知,大數據已經不簡簡單單是數據大的事實了,而最重要的現實是對大數據進行分析,只有通過分析才能獲取很多智能的,深入的,有價值的信息。那麼越來越多的應用涉及到大數據,而這些大數據的屬性,包括數量,速度,多樣性等等都是呈現了大數據不斷增長的復雜性,所以大數據的分析方法在大數據領域就顯得尤為重要,可以說是決定最終信息是否有價值的決定性因素。基於如此的認識,大數據分析普遍存在的方法理論有哪些呢?1. 可視化分析。大數據分析的使用者有大數據分析專家,同時還有普通用戶,但是他們二者對於大數據分析最基本的要求就是可視化分析,因為可視化分析能夠直觀的呈現大數據特點,同時能夠非常容易被讀者所接受,就如同看圖說話一樣簡單明了。2. 數據挖掘演算法。大數據分析的理論核心就是數據挖掘演算法,各種數據挖掘的演算法基於不同的數據類型和格式才能更加科學的呈現出數據本身具備的特點,也正是因為這些被全世界統計學家所公認的各種統計方法(可以稱之為真理)才能深入數據內部,挖掘出公認的價值。另外一個方面也是因為有這些數據挖掘的演算法才能更快速的處理大數據,如果一個演算法得花上好幾年才能得出結論,那大數據的價值也就無從說起了。3. 預測性分析。大數據分析最終要的應用領域之一就是預測性分析,從大數據中挖掘出特點,通過科學的建立模型,之後便可以通過模型帶入新的數據,從而預測未來的數據。4. 語義引擎。非結構化數據的多元化給數據分析帶來新的挑戰,我們需要一套工具系統的去分析,提煉數據。語義引擎需要設計到有足夠的人工智慧以足以從數據中主動地提取信息。5.數據質量和數據管理。大數據分析離不開數據質量和數據管理,高質量的數據和有效的數據管理,無論是在學術研究還是在商業應用領域,都能夠保證分析結果的真實和有價值。大數據分析的基礎就是以上五個方面,當然更加深入大數據分析的話,還有很多很多更加有特點的、更加深入的、更加專業的大數據分析方法。大數據的技術數據採集:ETL工具負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後載入到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。數據存取:關系資料庫、NOSQL、SQL等。基礎架構:雲存儲、分布式文件存儲等。數據處理:自然語言處理(NLP,Natural Language Processing)是研究人與計算機交互的語言問題的一門學科。處理自然語言的關鍵是要讓計算機」理解」自然語言,所以自然語言處理又叫做自然語言理解(NLU,Natural Language Understanding),也稱為計算語言學(Computational Linguistics。一方面它是語言信息處理的一個分支,另一方面它是人工智慧(AI, Artificial Intelligence)的核心課題之一。統計分析:假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、方差分析、卡方分析、偏相關分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預測與殘差分析、嶺回歸、logistic回歸分析、曲線估計、因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。數據挖掘:分類(Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和可視化、Description and Visualization)、復雜數據類型挖掘(Text, Web ,圖形圖像,視頻,音頻等)模型預測:預測模型、機器學習、建模模擬。結果呈現:雲計算、標簽雲、關系圖等。大數據的處理1. 大數據處理之一:採集大數據的採集是指利用多個資料庫來接收發自客戶端(Web、App或者感測器形式等)的數據,並且用戶可以通過這些資料庫來進行簡單的查詢和處理工作。比如,電商會使用傳統的關系型資料庫MySQL和Oracle等來存儲每一筆事務數據,除此之外,Redis和MongoDB這樣的NoSQL資料庫也常用於數據的採集。在大數據的採集過程中,其主要特點和挑戰是並發數高,因為同時有可能會有成千上萬的用戶來進行訪問和操作,比如火車票售票網站和淘寶,它們並發的訪問量在峰值時達到上百萬,所以需要在採集端部署大量資料庫才能支撐。並且如何在這些資料庫之間進行負載均衡和分片的確是需要深入的思考和設計。2. 大數據處理之二:導入/預處理雖然採集端本身會有很多資料庫,但是如果要對這些海量數據進行有效的分析,還是應該將這些來自前端的數據導入到一個集中的大型分布式資料庫,或者分布式存儲集群,並且可以在導入基礎上做一些簡單的清洗和預處理工作。也有一些用戶會在導入時使用來自Twitter的Storm來對數據進行流式計算,來滿足部分業務的實時計算需求。導入與預處理過程的特點和挑戰主要是導入的數據量大,每秒鍾的導入量經常會達到百兆,甚至千兆級別。3. 大數據處理之三:統計/分析統計與分析主要利用分布式資料庫,或者分布式計算集群來對存儲於其內的海量數據進行普通的分析和分類匯總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC的GreenPlum、Oracle的Exadata,以及基於MySQL的列式存儲Infobright等,而一些批處理,或者基於半結構化數據的需求可以使用Hadoop。統計與分析這部分的主要特點和挑戰是分析涉及的數據量大,其對系統資源,特別是I/O會有極大的佔用。4. 大數據處理之四:挖掘與前面統計和分析過程不同的是,數據挖掘一般沒有什麼預先設定好的主題,主要是在現有數據上面進行基於各種演算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別數據分析的需求。比較典型演算法有用於聚類的Kmeans、用於統計學習的SVM和用於分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。該過程的特點和挑戰主要是用於挖掘的演算法很復雜,並且計算涉及的數據量和計算量都很大,常用數據挖掘演算法都以單線程為主。整個大數據處理的普遍流程至少應該滿足這四個方面的步驟,才能算得上是一個比較完整的大數據處理。End.
㈢ 什麼叫大數據 怎麼理解大數據
1、「大數據」是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力來適應海量、高增長率和多樣化的信息資產。
2、麥肯錫全球研究所給出的定義是:一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統資料庫軟體工具能力范圍的數據集合,具有海量的數據規模、快速的數據流轉、多樣的數據類型和價值密度低四大特徵。
3、大數據技術的戰略意義不在於掌握龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換而言之,如果把大數據比作一種產業,那麼這種產業實現盈利的關鍵,在於提高對數據的「加工能力」,通過「加工」實現數據的「增值」。
4、從技術上看,大數據與雲計算的關系就像一枚硬幣的正反面一樣密不可分。大數據必然無法用單台的計算機進行處理,必須採用分布式架構。它的特色在於對海量數據進行分布式數據挖掘。但它必須依託雲計算的分布式處理、分布式資料庫和雲存儲、虛擬化技術。
5、隨著雲時代的來臨,大數據(Bigdata)也吸引了越來越多的關注。大數據(Bigdata)通常用來形容一個公司創造的大量非結構化數據和半結構化數據,這些數據在下載到關系型資料庫用於分析時會花費過多時間和金錢。大數據分析常和雲計算聯繫到一起,因為實時的大型數據集分析需要像MapRece一樣的框架來向數十、數百或甚至數千的電腦分配工作。
6、大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)資料庫、數據挖掘、分布式文件系統、分布式資料庫、雲計算平台、互聯網和可擴展的存儲系統。
㈣ 大數據技術
隨著信息技術的發展,新型信息發布方式的不斷涌現,數據正以前所未有的速度在不斷地增長和累積,大數據時代正式到來。2012年被稱為「大數據元年」,因為在這一年「大數據」這個概念引起了人們的空前關注。首先是美國政府公布「大數據研發計劃」,緊接著世界各國以及各大商業公司也對「大數據」給予了極大的關注。美國在「大數據研發計劃」中,與空間數據關系最為密切的是聯邦地質調查局和航空和航天局。
聯邦地質調查局的科學家們合作完成對全面、長期數據的最新綜合,進一步把大數據集和地球科學理論的大構想轉換成科學發現,提高對地球系統科學問題的理解和應對能力,例如物種應對氣候變化、地震復發率、下一代生態指標等。NASA用先進信息系統技術尋求成熟的大數據能力,以支持未來的地球觀測任務,使得地球信息能為NASA氣候中心的體系結構所識別,減少地球科學部的空基和陸基信息系統的風險、成本、規模和開發時間,提高科學數據的可訪問性和實用性。NASA的地球科學數據和信息系統項目已經活躍了15年以上,旨在對地球衛星數據和空中與實地活動的數據進行處理存檔和發布,努力確保科學家和社會公眾可以滿意地訪問從地球到太空的數據,提升應對氣候和環境變化的能力。NASA與Cray公司制定的太空行動協議,允許一個或多個項目圍繞發展和應用低延遲「大數據」系統合作,使用高度集成的非SQL資料庫傳輸數據,來加速建模和分析軟體的運行,以測試混合計算機系統的實用性。此外,各種專用減災衛星、遙感衛星、通信與導航衛星已廣泛應用於地震、海嘯、台風(颶風)、洪災、旱災、地質災害和火災等各種不同類型的災害管理。
在我國,地學大數據的研究也已開始,國土資源部地質信息技術重點實驗室地學大數據高性能計算應用環境搭建成功,已經對外開放。利用搭建的大數據及高性能地理數據計算平台,開展地質大數據綜合處理、分析和應用研究,對於推進地質數據開發應用、提高服務效率具有重要作用。
㈤ 人人都在說大數據,那大數據概念是怎麼產生的
概念產生:
「大數據」的名稱來自於未來學家托夫勒所著的《第三次浪潮》 盡管「大數據」這個詞直到最近才受到人們的高度關注,但早在1980年,著名未來學家托夫勒在其所著的《第三次浪潮》中就熱情地將「大數據」稱頌為「第三次浪潮的華彩樂章」。《自然》雜志在2008年9月推出了名為「大數據」的封面專欄。從2009年開始「大數據」才成為互聯網技術行業中的熱門詞彙。
㈥ 大數據時代發展歷程是什麼
大數據技術發展史:大數據的前世今生
今天我們常說的大數據技術,其實起源於Google在2004年前後發表的三篇論文,也就是我們經常聽到的「三駕馬車」,分別是分布式文件系統GFS、大數據分布式計算框架MapRece和NoSQL資料庫系統BigTable。
你知道,搜索引擎主要就做兩件事情,一個是網頁抓取,一個是索引構建,而在這個過程中,有大量的數據需要存儲和計算。這「三駕馬車」其實就是用來解決這個問題的,你從介紹中也能看出來,一個文件系統、一個計算框架、一個資料庫系統。
現在你聽到分布式、大數據之類的詞,肯定一點兒也不陌生。但你要知道,在2004年那會兒,整個互聯網還處於懵懂時代,Google發布的論文實在是讓業界為之一振,大家恍然大悟,原來還可以這么玩。
因為那個時間段,大多數公司的關注點其實還是聚焦在單機上,在思考如何提升單機的性能,尋找更貴更好的伺服器。而Google的思路是部署一個大規模的伺服器集群,通過分布式的方式將海量數據存儲在這個集群上,然後利用集群上的所有機器進行數據計算。 這樣,Google其實不需要買很多很貴的伺服器,它只要把這些普通的機器組織到一起,就非常厲害了。
當時的天才程序員,也是Lucene開源項目的創始人Doug Cutting正在開發開源搜索引擎Nutch,閱讀了Google的論文後,他非常興奮,緊接著就根據論文原理初步實現了類似GFS和MapRece的功能。
兩年後的2006年,Doug Cutting將這些大數據相關的功能從Nutch中分離了出來,然後啟動了一個獨立的項目專門開發維護大數據技術,這就是後來赫赫有名的Hadoop,主要包括Hadoop分布式文件系統HDFS和大數據計算引擎MapRece。
當我們回顧軟體開發的歷史,包括我們自己開發的軟體,你會發現,有的軟體在開發出來以後無人問津或者寥寥數人使用,這樣的軟體其實在所有開發出來的軟體中佔大多數。而有的軟體則可能會開創一個行業,每年創造數百億美元的價值,創造百萬計的就業崗位,這些軟體曾經是Windows、Linux、Java,而現在這個名單要加上Hadoop的名字。
如果有時間,你可以簡單瀏覽下Hadoop的代碼,這個純用Java編寫的軟體其實並沒有什麼高深的技術難點,使用的也都是一些最基礎的編程技巧,也沒有什麼出奇之處,但是它卻給社會帶來巨大的影響,甚至帶動一場深刻的科技革命,推動了人工智慧的發展與進步。
我覺得,我們在做軟體開發的時候,也可以多思考一下,我們所開發軟體的價值點在哪裡?真正需要使用軟體實現價值的地方在哪裡?你應該關注業務、理解業務,有價值導向,用自己的技術為公司創造真正的價值,進而實現自己的人生價值。而不是整天埋頭在需求說明文檔里,做一個沒有思考的代碼機器人。
Hadoop發布之後,Yahoo很快就用了起來。大概又過了一年到了2007年,網路和阿里巴巴也開始使用Hadoop進行大數據存儲與計算。
2008年,Hadoop正式成為Apache的頂級項目,後來Doug Cutting本人也成為了Apache基金會的主席。自此,Hadoop作為軟體開發領域的一顆明星冉冉升起。
同年,專門運營Hadoop的商業公司Cloudera成立,Hadoop得到進一步的商業支持。
這個時候,Yahoo的一些人覺得用MapRece進行大數據編程太麻煩了,於是便開發了Pig。Pig是一種腳本語言,使用類SQL的語法,開發者可以用Pig腳本描述要對大數據集上進行的操作,Pig經過編譯後會生成MapRece程序,然後在Hadoop上運行。
編寫Pig腳本雖然比直接MapRece編程容易,但是依然需要學習新的腳本語法。於是Facebook又發布了Hive。Hive支持使用SQL語法來進行大數據計算,比如說你可以寫個Select語句進行數據查詢,然後Hive會把SQL語句轉化成MapRece的計算程序。
這樣,熟悉資料庫的數據分析師和工程師便可以無門檻地使用大數據進行數據分析和處理了。Hive出現後極大程度地降低了Hadoop的使用難度,迅速得到開發者和企業的追捧。據說,2011年的時候,Facebook大數據平台上運行的作業90%都來源於Hive。
隨後,眾多Hadoop周邊產品開始出現,大數據生態體系逐漸形成,其中包括:專門將關系資料庫中的數據導入導出到Hadoop平台的Sqoop;針對大規模日誌進行分布式收集、聚合和傳輸的Flume;MapRece工作流調度引擎Oozie等。
在Hadoop早期,MapRece既是一個執行引擎,又是一個資源調度框架,伺服器集群的資源調度管理由MapRece自己完成。但是這樣不利於資源復用,也使得MapRece非常臃腫。於是一個新項目啟動了,將MapRece執行引擎和資源調度分離開來,這就是Yarn。2012年,Yarn成為一個獨立的項目開始運營,隨後被各類大數據產品支持,成為大數據平台上最主流的資源調度系統。
同樣是在2012年,UC伯克利AMP實驗室(Algorithms、Machine和People的縮寫)開發的Spark開始嶄露頭角。當時AMP實驗室的馬鐵博士發現使用MapRece進行機器學習計算的時候性能非常差,因為機器學習演算法通常需要進行很多次的迭代計算,而MapRece每執行一次Map和Rece計算都需要重新啟動一次作業,帶來大量的無謂消耗。還有一點就是MapRece主要使用磁碟作為存儲介質,而2012年的時候,內存已經突破容量和成本限制,成為數據運行過程中主要的存儲介質。Spark一經推出,立即受到業界的追捧,並逐步替代MapRece在企業應用中的地位。
一般說來,像MapRece、Spark這類計算框架處理的業務場景都被稱作批處理計算,因為它們通常針對以「天」為單位產生的數據進行一次計算,然後得到需要的結果,這中間計算需要花費的時間大概是幾十分鍾甚至更長的時間。因為計算的數據是非在線得到的實時數據,而是歷史數據,所以這類計算也被稱為大數據離線計算。
而在大數據領域,還有另外一類應用場景,它們需要對實時產生的大量數據進行即時計算,比如對於遍布城市的監控攝像頭進行人臉識別和嫌犯追蹤。這類計算稱為大數據流計算,相應地,有Storm、Flink、Spark Streaming等流計算框架來滿足此類大數據應用的場景。 流式計算要處理的數據是實時在線產生的數據,所以這類計算也被稱為大數據實時計算。
在典型的大數據的業務場景下,數據業務最通用的做法是,採用批處理的技術處理歷史全量數據,採用流式計算處理實時新增數據。而像Flink這樣的計算引擎,可以同時支持流式計算和批處理計算。
除了大數據批處理和流處理,NoSQL系統處理的主要也是大規模海量數據的存儲與訪問,所以也被歸為大數據技術。 NoSQL曾經在2011年左右非常火爆,涌現出HBase、Cassandra等許多優秀的產品,其中HBase是從Hadoop中分離出來的、基於HDFS的NoSQL系統。
我們回顧軟體發展的歷史會發現,差不多類似功能的軟體,它們出現的時間都非常接近,比如Linux和Windows都是在90年代初出現,Java開發中的各類MVC框架也基本都是同期出現,Android和iOS也是前腳後腳問世。2011年前後,各種NoSQL資料庫也是層出不群,我也是在那個時候參與開發了阿里巴巴自己的NoSQL系統。
事物發展有自己的潮流和規律,當你身處潮流之中的時候,要緊緊抓住潮流的機會,想辦法脫穎而出,即使沒有成功,也會更加洞悉時代的脈搏,收獲珍貴的知識和經驗。而如果潮流已經退去,這個時候再去往這個方向上努力,只會收獲迷茫與壓抑,對時代、對自己都沒有什麼幫助。
但是時代的浪潮猶如海灘上的浪花,總是一浪接著一浪,只要你站在海邊,身處這個行業之中,下一個浪潮很快又會到來。你需要敏感而又深刻地去觀察,略去那些浮躁的泡沫,抓住真正潮流的機會,奮力一搏,不管成敗,都不會遺憾。
正所謂在歷史前進的邏輯中前進,在時代發展的潮流中發展。通俗的說,就是要在風口中飛翔。
上面我講的這些基本上都可以歸類為大數據引擎或者大數據框架。而大數據處理的主要應用場景包括數據分析、數據挖掘與機器學習。數據分析主要使用Hive、Spark SQL等SQL引擎完成;數據挖掘與機器學習則有專門的機器學習框架TensorFlow、Mahout以及MLlib等,內置了主要的機器學習和數據挖掘演算法。
此外,大數據要存入分布式文件系統(HDFS),要有序調度MapRece和Spark作業執行,並能把執行結果寫入到各個應用系統的資料庫中,還需要有一個大數據平台整合所有這些大數據組件和企業應用系統。
圖中的所有這些框架、平台以及相關的演算法共同構成了大數據的技術體系,我將會在專欄後面逐個分析,幫你能夠對大數據技術原理和應用演算法構建起完整的知識體系,進可以專職從事大數據開發,退可以在自己的應用開發中更好地和大數據集成,掌控自己的項目。
希望對您有所幫助!~
㈦ 大數據分析有哪些基本方向
【導讀】跟著大數據時代的降臨,大數據剖析也應運而生。隨之而來的數據倉庫、數據安全、數據剖析、數據發掘等等環繞大數據的商業價值的使用逐漸成為職業人士爭相追捧的利潤焦點。那麼,大數據剖析有哪些根本方向呢?
1.可視化剖析
不管是對數據剖析專家仍是普通用戶,數據可視化是數據剖析東西最根本的要求。可視化能夠直觀的展現數據,讓數據自己說話,讓觀眾聽到成果。
2.數據發掘演算法
可視化是給人看的,數據發掘便是給機器看的。集群、切割、孤立點剖析還有其他的演算法讓咱們深入數據內部,發掘價值。這些演算法不只要處理大數據的量,也要處理大數據的速度。
3.猜測性剖析才能
數據發掘能夠讓剖析員更好的理解數據,而猜測性剖析能夠讓剖析員根據可視化剖析和數據發掘的成果做出一些猜測性的判別。
4.語義引擎
咱們知道由於非結構化數據的多樣性帶來了數據剖析的新的應戰,咱們需求一系列的東西去解析,提取,剖析數據。語義引擎需求被設計成能夠從「文檔」中智能提取信息。
5.數據質量和數據管理
數據質量和數據管理是一些管理方面的最佳實踐。經過標准化的流程和東西對數據進行處理能夠保證一個預先界說好的高質量的剖析成果。
6.數據存儲,數據倉庫
數據倉庫是為了便於多維剖析和多角度展現數據按特定形式進行存儲所建立起來的聯系型資料庫。在商業智能系統的設計中,數據倉庫的構建是關鍵,是商業智能系統的根底,為商業智能系統供給數據抽取、轉換和載入(ETL),並按主題對數據進行查詢和拜訪,為聯機數據剖析和數據發掘供給數據平台。
以上就是小編今天給大家整理分享關於「大數據分析有哪些基本方向?」的相關內容希望對大家有所幫助。小編認為要想在大數據行業有所建樹,需要考取部分含金量高的數據分析師證書,這樣更有核心競爭力與競爭資本。