{eval=Array;=+count(Array);}
大數(shù)據(jù)技術(shù)包括:
1)數(shù)據(jù)采集: ETL工具負責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時中間層后進行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。
2)數(shù)據(jù)存?。?關(guān)系數(shù)據(jù)庫、NOSQL、SQL等。
3)基礎(chǔ)架構(gòu): 云存儲、分布式文件存儲等。
4)數(shù)據(jù)處理: 自然語言處理(NLP,Natural Language Processing)是研究人與計算機交互的語言問題的一門學(xué)科。處理自然語言的關(guān)鍵是要讓計算機”理解”自然語言,所以自然語言處理又叫做自然語言理解也稱為計算語言學(xué)。一方面它是語言信息處理的一個分支,另一方面它是人工智能的核心課題之一。
5)統(tǒng)計分析: 假設(shè)檢驗、顯著性檢驗、差異分析、相關(guān)分析、T檢驗、 方差分析 、 卡方分析、偏相關(guān)分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預(yù)測與殘差分析、嶺回歸、logistic回歸分析、曲線估計、 因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應(yīng)分析、多元對應(yīng)分析(最優(yōu)尺度分析)、bootstrap技術(shù)等等。
6)數(shù)據(jù)挖掘: 分類 (Classification)、估計(Estimation)、預(yù)測(Prediction)、相關(guān)性分組或關(guān)聯(lián)規(guī)則(Affinity grouping or association rules)、聚類(Clustering)、描述和可視化、Description and Visualization)、復(fù)雜數(shù)據(jù)類型挖掘(Text, Web ,圖形圖像,視頻,音頻等)模型預(yù)測 :預(yù)測模型、機器學(xué)習(xí)、建模仿真。7)結(jié)果呈現(xiàn): 云計算、標簽云、關(guān)系圖等。
面對海量的各種來源的數(shù)據(jù),如何對這些零散的數(shù)據(jù)進行有效的分析,得到有價值的信息一直是大數(shù)據(jù)領(lǐng)域研究的熱點問題。、、
在搭建大數(shù)據(jù)分析平臺之前,要先明確業(yè)務(wù)需求場景以及用戶的需求,通過大數(shù)據(jù)分析平臺,想要得到哪些有價值的信息,需要接入的數(shù)據(jù)有哪些,明確基于場景業(yè)務(wù)需求的大數(shù)據(jù)平臺要具備的基本的功能,來決定平臺搭建過程中使用的大數(shù)據(jù)處理工具和框架。(1)操作系統(tǒng)的選擇
操作系統(tǒng)一般使用開源版的RedHat、Centos或者Debian作為底層的構(gòu)建平臺,要根據(jù)大數(shù)據(jù)平臺所要搭建的數(shù)據(jù)分析工具可以支持的系統(tǒng),正確的選擇操作系統(tǒng)的版本。
(2)搭建Hadoop集群
Hadoop作為一個開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺,實現(xiàn)了在大量的廉價計算機組成的集群中對海量數(shù)據(jù)進行分布式計算。Hadoop框架中最核心的設(shè)計是HDFS和MapReduce,HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上,能夠提供高吞吐量的數(shù)據(jù)訪問,適用于那些有著超大數(shù)據(jù)集的應(yīng)用程序;MapReduce是一套可以從海量的數(shù)據(jù)中提取數(shù)據(jù)最后返回結(jié)果集的編程模型。在生產(chǎn)實踐應(yīng)用中,Hadoop非常適合應(yīng)用于大數(shù)據(jù)存儲和大數(shù)據(jù)的分析應(yīng)用,適合服務(wù)于幾千臺到幾萬臺大的服務(wù)器的集群運行,支持PB級別的存儲容量。
(3)選擇數(shù)據(jù)接入和預(yù)處理工具
面對各種來源的數(shù)據(jù),數(shù)據(jù)接入就是將這些零散的數(shù)據(jù)整合在一起,綜合起來進行分析。數(shù)據(jù)接入主要包括文件日志的接入、數(shù)據(jù)庫日志的接入、關(guān)系型數(shù)據(jù)庫的接入和應(yīng)用程序等的接入,數(shù)據(jù)接入常用的工具有Flume,Logstash,NDC(網(wǎng)易數(shù)據(jù)運河系統(tǒng)),sqoop等。對于實時性要求比較高的業(yè)務(wù)場景,比如對存在于社交網(wǎng)站、新聞等的數(shù)據(jù)信息流需要進行快速的處理反饋,那么數(shù)據(jù)的接入可以使用開源的Strom,Spark streaming等。
數(shù)據(jù)預(yù)處理是在海量的數(shù)據(jù)中提取出可用特征,建立寬表,創(chuàng)建數(shù)據(jù)倉庫,會使用到HiveSQL,SparkSQL和Impala等工具。隨著業(yè)務(wù)量的增多,需要進行訓(xùn)練和清洗的數(shù)據(jù)也會變得越來越復(fù)雜,可以使用azkaban或者oozie作為工作流調(diào)度引擎,用來解決有多個hadoop或者spark等計算任務(wù)之間的依賴關(guān)系問題。
(4)數(shù)據(jù)存儲
除了Hadoop中已廣泛應(yīng)用于數(shù)據(jù)存儲的HDFS,常用的還有分布式、面向列的開源數(shù)據(jù)庫Hbase,HBase是一種key/value系統(tǒng),部署在HDFS上,與Hadoop一樣,HBase的目標主要是依賴橫向擴展,通過不斷的增加廉價的商用服務(wù)器,增加計算和存儲能力。同時hadoop的資源管理器Yarn,可以為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,為集群在利用率、資源統(tǒng)一等方面帶來巨大的好處。
(5)選擇數(shù)據(jù)挖掘工具
Hive可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供HQL的查詢功能,它是建立在Hadoop之上的數(shù)據(jù)倉庫基礎(chǔ)架構(gòu),是為了減少MapReduce編寫工作的批處理系統(tǒng),它的出現(xiàn)可以讓那些精通SQL技能、但是不熟悉MapReduce、編程能力較弱和不擅長Java的用戶能夠在HDFS大規(guī)模數(shù)據(jù)集上很好的利用SQL語言查詢、匯總、分析數(shù)據(jù)。Impala是對Hive的一個補充,可以實現(xiàn)高效的SQL查詢,但是Impala將整個查詢過程分成了一個執(zhí)行計劃樹,而不是一連串的MapReduce任務(wù),相比Hive有更好的并發(fā)性和避免了不必要的中間sort和shuffle。
可以對數(shù)據(jù)進行建模分析,會用到機器學(xué)習(xí)相關(guān)的知識,常用的機器學(xué)習(xí)算法,比如貝葉斯、邏輯回歸、決策樹、神經(jīng)網(wǎng)絡(luò)、協(xié)同過濾等。
(6)數(shù)據(jù)的可視化以及輸出API
對于處理得到的數(shù)據(jù)可以對接主流的BI系統(tǒng),比如國外的Tableau、Qlikview、PowrerBI等,國內(nèi)的SmallBI和新興的網(wǎng)易有數(shù)(可免費試用)等,將結(jié)果進行可視化,用于決策分析;或者回流到線上,支持線上業(yè)務(wù)的發(fā)展。
1.可視化分析
大數(shù)據(jù)分析的使用者有大數(shù)據(jù)分析專家,同時還有普通用戶,但是他們二者對于大數(shù)據(jù)分析最基本的要求就是可視化分析,因為可視化分析能夠直觀的呈現(xiàn)大數(shù)據(jù)特點,同時能夠非常容易被讀者所接受,就如同看圖說話一樣簡單明了。
2. 數(shù)據(jù)挖掘算法
大數(shù)據(jù)分析的理論核心就是數(shù)據(jù)挖掘算法,各種數(shù)據(jù)挖掘的算法基于不同的數(shù)據(jù)類型和格式才能更加科學(xué)的呈現(xiàn)出數(shù)據(jù)本身具備的特點,也正是因為這些被全世界統(tǒng)計 學(xué)家所公認的各種統(tǒng)計方法(可以稱之為真理)才能深入數(shù)據(jù)內(nèi)部,挖掘出公認的價值。另外一個方面也是因為有這些數(shù)據(jù)挖掘的算法才能更快速的處理大數(shù)據(jù),如 果一個算法得花上好幾年才能得出結(jié)論,那大數(shù)據(jù)的價值也就無從說起了。
3. 預(yù)測性分析
大數(shù)據(jù)分析最終要的應(yīng)用領(lǐng)域之一就是預(yù)測性分析,從大數(shù)據(jù)中挖掘出特點,通過科學(xué)的建立模型,之后便可以通過模型帶入新的數(shù)據(jù),從而預(yù)測未來的數(shù)據(jù)。
4. 語義引擎
非結(jié)構(gòu)化數(shù)據(jù)的多元化給數(shù)據(jù)分析帶來新的挑戰(zhàn),我們需要一套工具系統(tǒng)的去分析,提煉數(shù)據(jù)。語義引擎需要設(shè)計到有足夠的人工智能以足以從數(shù)據(jù)中主動地提取信息。
5.數(shù)據(jù)質(zhì)量和數(shù)據(jù)管理
大數(shù)據(jù)分析離不開數(shù)據(jù)質(zhì)量和數(shù)據(jù)管理,高質(zhì)量的數(shù)據(jù)和有效的數(shù)據(jù)管理,無論是在學(xué)術(shù)研究還是在商業(yè)應(yīng)用領(lǐng)域,都能夠保證分析結(jié)果的真實和有價值。大數(shù)據(jù)分析的基礎(chǔ)就是以上五個方面,當(dāng)然更加深入大數(shù)據(jù)分析的話,還有很多很多更加有特點的、更加深入的、更加專業(yè)的大數(shù)據(jù)分析方法。
1. 大數(shù)據(jù)處理之一
采集大數(shù)據(jù)的采集是指利用多個數(shù)據(jù)庫來接收發(fā)自客戶端(Web、App或者傳感器形式等)的 數(shù)據(jù),并且用戶可以通過這些數(shù)據(jù)庫來進行簡單的查詢和處理工作。比如,電商會使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫MySQL和Oracle等來存儲每一筆事務(wù)數(shù)據(jù),除 此之外,Redis和MongoDB這樣的NoSQL數(shù)據(jù)庫也常用于數(shù)據(jù)的采集。在大數(shù)據(jù)的采集過程中,其主要特點和挑戰(zhàn)是并發(fā)數(shù)高,因為同時有可能會有成千上萬的用戶 來進行訪問和操作,比如火車票售票網(wǎng)站和淘寶,它們并發(fā)的訪問量在峰值時達到上百萬,所以需要在采集端部署大量數(shù)據(jù)庫才能支撐。并且如何在這些數(shù)據(jù)庫之間 進行負載均衡和分片的確是需要深入的思考和設(shè)計。
2. 大數(shù)據(jù)處理之二
導(dǎo)入/預(yù)處理雖然采集端本身會有很多數(shù)據(jù)庫,但是如果要對這些海量數(shù)據(jù)進行有效的分析,還是應(yīng)該將這 些來自前端的數(shù)據(jù)導(dǎo)入到一個集中的大型分布式數(shù)據(jù)庫,或者分布式存儲集群,并且可以在導(dǎo)入基礎(chǔ)上做一些簡單的清洗和預(yù)處理工作。也有一些用戶會在導(dǎo)入時使 用來自Twitter的Storm來對數(shù)據(jù)進行流式計算,來滿足部分業(yè)務(wù)的實時計算需求。導(dǎo)入與預(yù)處理過程的特點和挑戰(zhàn)主要是導(dǎo)入的數(shù)據(jù)量大,每秒鐘的導(dǎo)入量經(jīng)常會達到百兆,甚至千兆級別。
3. 大數(shù)據(jù)處理之三
統(tǒng)計/分析統(tǒng)計與分析主要利用分布式數(shù)據(jù)庫,或者分布式計算集群來對存儲于其內(nèi)的海量數(shù)據(jù)進行普通 的分析和分類匯總等,以滿足大多數(shù)常見的分析需求,在這方面,一些實時性需求會用到EMC的GreenPlum、Oracle的Exadata,以及基于 MySQL的列式存儲Infobright等,而一些批處理,或者基于半結(jié)構(gòu)化數(shù)據(jù)的需求可以使用Hadoop。統(tǒng)計與分析這部分的主要特點和挑戰(zhàn)是分析涉及的數(shù)據(jù)量大,其對系統(tǒng)資源,特別是I/O會有極大的占用。
4. 大數(shù)據(jù)處理之四
挖掘與前面統(tǒng)計和分析過程不同的是,數(shù)據(jù)挖掘一般沒有什么預(yù)先設(shè)定好的主題,主要是在現(xiàn)有數(shù) 據(jù)上面進行基于各種算法的計算,從而起到預(yù)測(Predict)的效果,從而實現(xiàn)一些高級別數(shù)據(jù)分析的需求。比較典型算法有用于聚類的Kmeans、用于 統(tǒng)計學(xué)習(xí)的SVM和用于分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。該過程的特點和挑戰(zhàn)主要是用于挖掘的算法很復(fù)雜,并 且計算涉及的數(shù)據(jù)量和計算量都很大,常用數(shù)據(jù)挖掘算法都以單線程為主。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答