大數(shù)據(jù)技術(shù)發(fā)展到目前已經(jīng)經(jīng)歷了幾個(gè)階段,在很多企業(yè)都已經(jīng)形成了相對(duì)成熟穩(wěn)定的架構(gòu),如何了解其發(fā)展中的概況。以下是小編為你整理的大數(shù)據(jù)分析如何學(xué) ?
大數(shù)據(jù)系統(tǒng)的演化歷程包括:解決數(shù)據(jù)規(guī)模問(wèn)題,解決使用門(mén)檻問(wèn)題,解決計(jì)算延遲問(wèn)題,解決復(fù)雜場(chǎng)景問(wèn)題。 ?
大數(shù)據(jù)的整體架構(gòu)可以按以下分層:數(shù)據(jù)源、數(shù)據(jù)采集Agent、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算和數(shù)據(jù)應(yīng)用。 ?
數(shù)據(jù)源從內(nèi)部來(lái)講一般來(lái)自于企業(yè)的各個(gè)數(shù)據(jù)中心,外部一般從互聯(lián)網(wǎng)獲取,也可能與其他企業(yè)或機(jī)構(gòu)通過(guò)交換傳輸。
?
數(shù)據(jù)的采集通常有批處理的傳送,或者基于kafka等組件的實(shí)時(shí)接口,采集要確保準(zhǔn)確高效。 ?
數(shù)據(jù)的存儲(chǔ)方式也包含多種,可以基于hadoop的分布式文件系統(tǒng),或者基于hbase分布式數(shù)據(jù)庫(kù),也可以基于Kafka。 ?
數(shù)據(jù)的計(jì)算包括離線分析(Hive、Spark、MR),即席查詢/多維分析(Presto、SparkSQL、Kylin)和實(shí)時(shí)計(jì)算引擎(Flink、Spark Streaming)。 ?
數(shù)據(jù)的應(yīng)用層包括數(shù)據(jù)報(bào)表和離線計(jì)算,交互式查詢以及BI分析,模型訓(xùn)練以及針對(duì)性的廣告投放。 ?
? ?
大數(shù)據(jù)對(duì)我們有什么影響? ?
網(wǎng)絡(luò)發(fā)展越來(lái)越快,當(dāng)互聯(lián)網(wǎng)形成,世界發(fā)生變化。十年前的互聯(lián)網(wǎng)與今天的 ?
互聯(lián)網(wǎng)不同,今天的互聯(lián)網(wǎng)將在未來(lái)5年陳舊。是什么原因?qū)е碌?答案是: ?
大數(shù)據(jù)。 ?
什么是大數(shù)據(jù)? ?
大數(shù)據(jù)是一個(gè)概念,一種說(shuō)法,解釋就是每天海量的網(wǎng)絡(luò), ?
極大的復(fù)雜的數(shù)據(jù)集合 ?
這些數(shù)據(jù)以什么單位呈現(xiàn)呢,比如9x10的18次方,大家可以想象龐大數(shù)據(jù) ?
為什么我要去了解大數(shù)據(jù)運(yùn)營(yíng) ?
打個(gè)比方,一個(gè)公司有生成產(chǎn)品,有銷售人員,如果公司生產(chǎn)很多產(chǎn)品, ?
就像大數(shù)據(jù)一樣,我們應(yīng)該把這些數(shù)據(jù)轉(zhuǎn)變?yōu)橘嶅X(qián), ?
所以需要怎么賣(mài)到用戶手里,這樣大數(shù)據(jù)才有用 ?
了解運(yùn)營(yíng)需要了解大數(shù)據(jù)從出現(xiàn)到實(shí)現(xiàn)賺錢(qián)整個(gè)過(guò)程 ?
*需要知道哪些數(shù)據(jù)對(duì)你公司或者個(gè)人有用 ?
第二這些數(shù)據(jù)如何獲得 ?
第三獲得數(shù)據(jù)如何處理 ?
第四如何數(shù)據(jù)如何轉(zhuǎn)換成利潤(rùn) ?
? ?
大數(shù)據(jù)概念的結(jié)構(gòu) ?
大數(shù)據(jù)就是互聯(lián)網(wǎng)發(fā)展到現(xiàn)今階段的一種表象或特征而已,沒(méi)有必要神話它或?qū)λ3志次分?,在以云?jì)算為代表的技術(shù)創(chuàng)新大幕的襯托下,這些原本很難收集和使用的數(shù)據(jù)開(kāi)始容易被利用起來(lái)了,通過(guò)各行各業(yè)的不斷創(chuàng)新,大數(shù)據(jù)會(huì)逐步為人類創(chuàng)造更多的價(jià)值。 ?
其次,想要系統(tǒng)的認(rèn)知大數(shù)據(jù),必須要全面而細(xì)致的分解它,我著手從三個(gè)層面來(lái)展開(kāi):
?
*層面是理論,理論是認(rèn)知的必經(jīng)途徑,也是被廣泛認(rèn)同和傳播的基線。在這里從大數(shù)據(jù)的特征定義理解行業(yè)對(duì)大數(shù)據(jù)的整體描繪和定性;從對(duì)大數(shù)據(jù)價(jià)值的探討來(lái)深入解析大數(shù)據(jù)的珍貴所在;洞悉大數(shù)據(jù)的發(fā)展趨勢(shì);從大數(shù)據(jù)隱私這個(gè)特別而重要的視角審視人和數(shù)據(jù)之間的長(zhǎng)久博弈。 ?
第二層面是技術(shù),技術(shù)是大數(shù)據(jù)價(jià)值體現(xiàn)的手段和前進(jìn)的基石。在這里分別從云計(jì)算、分布式處理技術(shù)、存儲(chǔ)技術(shù)和感知技術(shù)的發(fā)展來(lái)說(shuō)明大數(shù)據(jù)從采集、處理、存儲(chǔ)到形成結(jié)果的整個(gè)過(guò)程。 ?
第三層面是實(shí)踐,實(shí)踐是大數(shù)據(jù)的最終價(jià)值體現(xiàn)。在這里分別從互聯(lián)網(wǎng)的大數(shù)據(jù),*的大數(shù)據(jù),企業(yè)的大數(shù)據(jù)和個(gè)人的大數(shù)據(jù)四個(gè)方面來(lái)描繪大數(shù)據(jù)已經(jīng)展現(xiàn)的美好景象及即將實(shí)現(xiàn)的藍(lán)圖。 ?
? ?
大數(shù)據(jù)需要的框架 ?
Zookeeper:這是個(gè)萬(wàn)金油,安裝Hadoop的HA的時(shí)候就會(huì)用到它,以后的Hbase也會(huì)用到它。它一般用來(lái)存放一些相互協(xié)作的信息,這些信息比較小一般不會(huì)超過(guò)1M,都是使用它的軟件對(duì)它有依賴,對(duì)于我們個(gè)人來(lái)講只需要把它安裝正確,讓它正常的run起來(lái)就可以了。 ?
Mysql:我們學(xué)習(xí)完大數(shù)據(jù)的處理了,接下來(lái)學(xué)習(xí)學(xué)習(xí)小數(shù)據(jù)的處理工具mysql數(shù)據(jù)庫(kù),因?yàn)橐粫?huì)裝hive的時(shí)候要用到,mysql需要掌握到什么層度那?你能在Linux上把它安裝好,運(yùn)行起來(lái),會(huì)配置簡(jiǎn)單的權(quán)限,修改root的密碼,創(chuàng)建數(shù)據(jù)庫(kù)。這里主要的是學(xué)習(xí)SQL的語(yǔ)法,因?yàn)閔ive的語(yǔ)法和這個(gè)非常相似。 ?
Sqoop:這個(gè)是用于把Mysql里的數(shù)據(jù)導(dǎo)入到Hadoop里的。當(dāng)然你也可以不用這個(gè),直接把Mysql數(shù)據(jù)表導(dǎo)出成文件再放到HDFS上也是一樣的,當(dāng)然生產(chǎn)環(huán)境中使用要注意Mysql的壓力。 ?
Hive:這個(gè)東西對(duì)于會(huì)SQL語(yǔ)法的來(lái)說(shuō)就是神器,它能讓你處理大數(shù)據(jù)變的很簡(jiǎn)單,不會(huì)再費(fèi)勁的編寫(xiě)MapReduce程序。有的人說(shuō)Pig那?它和Pig差不多掌握一個(gè)就可以了。 ?
Oozie:既然學(xué)會(huì)Hive了,我相信你一定需要這個(gè)東西,它可以幫你管理你的Hive或者M(jìn)apReduce、Spark腳本,還能檢查你的程序是否執(zhí)行正確,出錯(cuò)了給你發(fā)報(bào)警并能幫你重試程序,最重要的是還能幫你配置任務(wù)的依賴關(guān)系。我相信你一定會(huì)喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺(jué)。 ?
Hbase:這是Hadoop生態(tài)體系中的NOSQL數(shù)據(jù)庫(kù),他的數(shù)據(jù)是按照key和value的形式存儲(chǔ)的并且key是*的,所以它能用來(lái)做數(shù)據(jù)的排重,它與MYSQL相比能存儲(chǔ)的數(shù)據(jù)量大很多。所以他常被用于大數(shù)據(jù)處理完成之后的存儲(chǔ)目的地。 ?
Kafka:這是個(gè)比較好用的隊(duì)列工具,隊(duì)列是干嗎的?排隊(duì)買(mǎi)票你知道不?數(shù)據(jù)多了同樣也需要排隊(duì)處理,這樣與你協(xié)作的其它同學(xué)不會(huì)叫起來(lái),你干嗎給我這么多的數(shù)據(jù)(比如好幾百G的文件)我怎么處理得過(guò)來(lái),你別怪他因?yàn)樗皇歉愦髷?shù)據(jù)的,你可以跟他講我把數(shù)據(jù)放在隊(duì)列里你使用的時(shí)候一個(gè)個(gè)拿,這樣他就不在抱怨了馬上灰流流的去優(yōu)化他的程序去了,因?yàn)樘幚聿贿^(guò)來(lái)就是他的事情。而不是你給的問(wèn)題。當(dāng)然我們也可以利用這個(gè)工具來(lái)做線上實(shí)時(shí)數(shù)據(jù)的入庫(kù)或入HDFS,這時(shí)你可以與一個(gè)叫Flume的工具配合使用,它是專門(mén)用來(lái)提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(比如Kafka)的。 ?
Spark:它是用來(lái)彌補(bǔ)基于MapReduce處理數(shù)據(jù)速度上的缺點(diǎn),它的特點(diǎn)是把數(shù)據(jù)裝載到內(nèi)存中計(jì)算而不是去讀慢的要死進(jìn)化還特別慢的硬盤(pán)。特別適合做迭代運(yùn)算,所以算法流們特別稀飯它。它是用scala編寫(xiě)的。Java語(yǔ)言或者Scala都可以操作它,因?yàn)樗鼈兌际怯肑VM的。 ?