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