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