接著前兩篇對(duì)大數(shù)據(jù)的介紹之后,本篇從實(shí)際操作的角度分享大數(shù)據(jù)內(nèi)部關(guān)鍵的運(yùn)作機(jī)制,這是在真正開始學(xué)習(xí)大數(shù)據(jù)之前對(duì)大數(shù)據(jù)的一個(gè)概覽。為的是讓我們成為大數(shù)據(jù)的主人。以下是小編為你整理的為什么要學(xué)習(xí)大數(shù)據(jù) ?
大數(shù)據(jù)運(yùn)行機(jī)制 ?
這是對(duì)大數(shù)據(jù)運(yùn)行機(jī)制的概覽,如果你閱讀過上一篇(OODA),就會(huì)感覺非常熟悉。不錯(cuò),他們?cè)诟拍钌鲜侨绯鲆怀返?不過實(shí)際操作卻又有巨大的不同。
?
收集數(shù)據(jù): ?
大數(shù)據(jù)的*站就是收集和存儲(chǔ)海量數(shù)據(jù)(公開/隱私)。現(xiàn)在每個(gè)人都是一個(gè)巨大的數(shù)據(jù)源,通過智能手機(jī)和個(gè)人筆記本釋放出大量的個(gè)人行為信息。獲取數(shù)據(jù)似乎已經(jīng)變得越來越容易,數(shù)據(jù)收集這一模塊*的挑戰(zhàn)在于獲取海量數(shù)據(jù)的高速要求以及數(shù)據(jù)的全面性考慮。 ?
清洗數(shù)據(jù): ?
傳統(tǒng)商業(yè)智能在數(shù)據(jù)清洗處理的做法(ETL)是,把準(zhǔn)確的數(shù)據(jù)放入定義好的格式中,通過基礎(chǔ)的抽取統(tǒng)計(jì)生成高維度的數(shù)據(jù),方便直接使用。然而大數(shù)據(jù)有個(gè)最突出的特征——數(shù)據(jù)非結(jié)構(gòu)化或者半結(jié)構(gòu)化。因?yàn)閿?shù)據(jù)有可能是圖片,二進(jìn)制等等。數(shù)據(jù)清洗的*挑戰(zhàn)來了——如何轉(zhuǎn)化處理大量非結(jié)構(gòu)數(shù)據(jù),便于分布式地計(jì)算分析。 ?
硬件: ?
這是大家都很熟悉的概念,和大數(shù)據(jù)相關(guān)的是虛擬化。主要包括存儲(chǔ)虛擬化,計(jì)算虛擬化。因此又說虛擬化存儲(chǔ)和云計(jì)算是大數(shù)據(jù)的“左膀右臂”!!大數(shù)據(jù)還需要支持多種類型的數(shù)據(jù)庫(kù),因此一個(gè)支持?jǐn)U展的數(shù)據(jù)倉(cāng)庫(kù)是大數(shù)據(jù)中的基礎(chǔ)。 ?
HBase/Sqoop/Flume(數(shù)據(jù)導(dǎo)入與導(dǎo)出): ?
HBase是運(yùn)行在HDFS架構(gòu)上的列存儲(chǔ)數(shù)據(jù)庫(kù),并且已經(jīng)與Pig/Hive很好地集成。通過Java API可以近無縫地使用HBase。 ?
Sqoop設(shè)計(jì)的目的是方便從傳統(tǒng)數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)到Hadoop數(shù)據(jù)集合(HDFS/Hive)。 ?
Flume設(shè)計(jì)的目的是便捷地從日志文件系統(tǒng)直接把數(shù)據(jù)導(dǎo)到Hadoop數(shù)據(jù)集合(HDFS)中。 ?
以上這些數(shù)據(jù)轉(zhuǎn)移工具都極大的方便了使用的人,提高了工作效率,把經(jīng)歷專注在業(yè)務(wù)分析上! ?
ZooKeeper/Oozie(系統(tǒng)管理架構(gòu)): ?
ZooKeeper是一個(gè)系統(tǒng)管理協(xié)調(diào)架構(gòu),用于管理分布式架構(gòu)的基本配置。它提供了很多接口,使得配置管理任務(wù)簡(jiǎn)單化! ?
Oozie服務(wù)是用于管理工作流。用于調(diào)度不同工作流,使得每個(gè)工作都有始有終。 ?
這些架構(gòu)幫助我們輕量化地管理大數(shù)據(jù)分布式計(jì)算架構(gòu)。 ?
7 ?
Ambari/Whirr(系統(tǒng)部署管理): ?
Ambari幫助相關(guān)人員快捷地部署搭建整個(gè)大數(shù)據(jù)分析架構(gòu),并且實(shí)時(shí)監(jiān)控系統(tǒng)的運(yùn)行狀況。 ?
Whirr的主要作用是幫助快速的進(jìn)行云計(jì)算開發(fā)。
?
Mahout(機(jī)器學(xué)習(xí)): ?
Mahout旨在幫助我們快速地完成高智商的系統(tǒng)。其中已經(jīng)實(shí)現(xiàn)了部分機(jī)器學(xué)習(xí)的邏輯。這個(gè)架構(gòu)可以讓我們快速地集成更多機(jī)器學(xué)習(xí)的智能!! ?
大數(shù)據(jù)服務(wù)對(duì)比 ?
不同大數(shù)據(jù)服務(wù)提供商有不同的產(chǎn)品線,因此不同提供商的產(chǎn)品適用場(chǎng)景也會(huì)有所不同。我們重點(diǎn)分析三大服務(wù)提供商的大數(shù)據(jù)服務(wù)架構(gòu)。 ?
亞馬遜 ?
擁有大量關(guān)于大數(shù)據(jù)處理的經(jīng)驗(yàn)。初期大數(shù)據(jù)使用者大部分都使用亞馬遜打造的Hadoop架構(gòu)服務(wù)(EC2)。 ?
經(jīng)過厚重沉淀之后,Amazon在2009年提供開發(fā)EMR大數(shù)據(jù)服務(wù)。EMR服務(wù)提供了多種大數(shù)據(jù)處理分析方案,比如簡(jiǎn)單查詢服務(wù),關(guān)聯(lián)數(shù)據(jù)分析服務(wù)。EMR服務(wù)可以使用Hadoop語言繼續(xù)開發(fā),并且訪問EMR服務(wù)的步驟也相當(dāng)簡(jiǎn)單并且安全。 ?
亞馬遜使用托管DynamoDB代替HBase,作為易于擴(kuò)展的NoSQL數(shù)據(jù)庫(kù)。
?
谷歌 ?
谷歌云服務(wù)平臺(tái)出類拔萃,它所提供的并非虛擬化解決方案,而是提供由API定義的服務(wù)和應(yīng)用程序。程序員無需顧慮硬件,甚至不需要關(guān)心后臺(tái)的運(yùn)作行為。 ?
當(dāng)然這從某種程度也限制了程序員的工作,不過如果谷歌的服務(wù)適合業(yè)務(wù),那么使用起來將是全世界*效快捷的大數(shù)據(jù)架構(gòu)服務(wù)。 ?
谷歌的AppEngine作為云平臺(tái)管理服務(wù),提供了基于MapReduce的大數(shù)據(jù)并行計(jì)算服務(wù)。所有的這些服務(wù)都可以通過REST風(fēng)格的API訪問。 ?
BigQuery作為分析的數(shù)據(jù)庫(kù),提供了類SQL的查詢語法。它的性能要比Apache Hive來得快! ?
微軟 ?
微軟在大數(shù)據(jù)中屬于后來居上者。通過Microsoft Azure大數(shù)據(jù)服務(wù)平臺(tái),微軟融合自身海量成熟的軟件,例如SQL Server,提供了多種IaaS服務(wù)。 ?
微軟的服務(wù)面向更多的程序員,使得可以使用不同語言來對(duì)接大數(shù)據(jù)平臺(tái)Azure。Azure旨在提供一個(gè)生態(tài)的大數(shù)據(jù)分析開發(fā)環(huán)境,使得普通研究員也可以施展自己對(duì)大數(shù)據(jù)的理解! ?
學(xué)習(xí)Oracle是一個(gè)漫長(zhǎng)艱辛的過程
如果沒有興趣,只是被迫學(xué)習(xí),那么是很難學(xué)好的。學(xué)習(xí)到一定程度的時(shí)候,要想進(jìn)一步提高,就不得不接觸很多Oracle之外的東西,如Unix,如網(wǎng)絡(luò)、存儲(chǔ)等。因此,要真的決心學(xué)好Oracle,就一定要有興趣。有了興趣,就會(huì)一切變得簡(jiǎn)單快樂起來。簡(jiǎn)單總結(jié)一下,那就是:興趣、學(xué)習(xí)、實(shí)踐。
如何入門是許多初學(xué)者最頭疼的事情。Oracle涉及的方面太多了:SQL、管理、優(yōu)化、備份恢復(fù)……那么從哪開始學(xué)好呢?如果在*期間學(xué)過數(shù)據(jù)庫(kù)理論,或有一定的數(shù)據(jù)庫(kù)基礎(chǔ)自然很好;如果沒有的話,真的是個(gè)大問題。我個(gè)人認(rèn)為還是應(yīng)該從SQL語句學(xué)起。比較好的教材是Oracle OCP認(rèn)證的《SQL and PL/SQL》。學(xué)習(xí)SQL的時(shí)候,盡可能堅(jiān)持使用Oracle自帶的工具:SQLPLUS。 ?
有了一定的SQL基礎(chǔ)后,就要盡可能的了解Oracle的體系結(jié)構(gòu),這就涉及到了Oracle管理的內(nèi)容了。我學(xué)習(xí)的時(shí)候,機(jī)械工業(yè)出版社的《Oracle9i DBA手冊(cè)》這本書對(duì)我的幫助挺大。或許現(xiàn)在都出11g版本的了吧。Oracle公司的《Oracle Concepts》是非常棒的書,對(duì)了解Oracle體系結(jié)構(gòu)很有好處。每個(gè)Oracle版本都有對(duì)應(yīng)的版本,可以認(rèn)真多讀幾次,每次都會(huì)有新的收獲。 ?
公司的產(chǎn)品現(xiàn)在幾乎都采用Oracle了,我們做維護(hù)的時(shí)候,備份與恢復(fù)是不得不接觸的內(nèi)容。數(shù)據(jù)量少的,比如20、30多個(gè)G,還可以考慮用exp/imp來備份與恢復(fù),但數(shù)據(jù)量大了,這種方法就根本不適合了。于是學(xué)習(xí)Oracle備份與恢復(fù)技術(shù)也是必然的事情。大數(shù)據(jù)量情況下,Oracle建議用RMAN來進(jìn)行數(shù)據(jù)的備份與恢復(fù)。目前市場(chǎng)上有很多數(shù)據(jù)庫(kù)備份恢復(fù)軟件,其實(shí)好多也是后臺(tái)調(diào)用RMAN。清華*出版社出版的《Oracle 9i RMAN 備份與恢復(fù)技術(shù)》是一本非常不錯(cuò)的介紹RMAN的書。 ?
有了以上的基礎(chǔ),可以說已經(jīng)入門了,對(duì)遇到的一些初級(jí)Oracle問題將不再束手無策。然而我們的學(xué)習(xí)之路仍然還很漫長(zhǎng)。我們的用戶可能經(jīng)常抱怨數(shù)據(jù)庫(kù)運(yùn)行緩慢。這時(shí),如果有一定的優(yōu)化知識(shí),那就好辦了。有時(shí)你會(huì)看到優(yōu)化前需要運(yùn)行幾個(gè)小時(shí)的作業(yè),優(yōu)化后也許幾秒鐘就能完成!Oracle9i的性能診斷工具包statspack、Oracle10g/11g的自動(dòng)工作符合存儲(chǔ)庫(kù)AWR都是調(diào)優(yōu)的好幫手。機(jī)械工業(yè)出版社出版的《Oracle9i STATSPACK高性能調(diào)整》是學(xué)習(xí)statspack不錯(cuò)的書。