當前位置:編程學習大全網 - 編程語言 - 做大數據分析壹般用什麽工具呢?

做大數據分析壹般用什麽工具呢?

Java :只要了解壹些基礎即可,做大數據不需要很深的Java 技術,學java SE 就相當於有學習大數據。基礎

Linux:因為大數據相關軟件都是在Linux上運行的,所以Linux要學習的紮實壹些,學好Linux對妳快速掌握大數據相關技術會有很大的幫助,能讓妳更好的理解hadoop、hive、hbase、spark等大數據軟件的運行環境和網絡環境配置,能少踩很多坑,學會shell就能看懂腳本這樣能更容易理解和配置大數據集群。還能讓妳對以後新出的大數據技術學習起來更快。

好說完基礎了,再說說還需要學習哪些大數據技術,可以按我寫的順序學下去。

Hadoop:這是現在流行的大數據處理平臺幾乎已經成為大數據的代名詞,所以這個是必學的。Hadoop裏面包括幾個組件HDFS、MapReduce和YARN,HDFS是存儲數據的地方就像我們電腦的硬盤壹樣文件都存儲在這個上面,MapReduce是對數據進行處理計算的,它有個特點就是不管多大的數據只要給它時間它就能把數據跑完,但是時間可能不是很快所以它叫數據的批處理。

記住學到這裏可以作為妳學大數據的壹個節點。

Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它壹般用來存放壹些相互協作的信息,這些信息比較小壹般不會超過1M,都是使用它的軟件對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。

Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql數據庫,因為壹會裝hive的時候要用到,mysql需要掌握到什麽層度那?妳能在Linux上把它安裝好,運行起來,會配置簡單的權限,修改root的密碼,創建數據庫。這裏主要的是學習SQL的語法,因為hive的語法和這個非常相似。

Sqoop:這個是用於把Mysql裏的數據導入到Hadoop裏的。當然妳也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是壹樣的,當然生產環境中使用要註意Mysql的壓力。

Hive:這個東西對於會SQL語法的來說就是神器,它能讓妳處理大數據變的很簡單,不會再費勁的編寫MapReduce程序。有的人說Pig那?它和Pig差不多掌握壹個就可以了。

Oozie:既然學會Hive了,我相信妳壹定需要這個東西,它可以幫妳管理妳的Hive或者MapReduce、Spark腳本,還能檢查妳的程序是否執行正確,出錯了給妳發報警並能幫妳重試程序,最重要的是還能幫妳配置任務的依賴關系。我相信妳壹定會喜歡上它的,不然妳看著那壹大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。

Hbase:這是Hadoop生態體系中的NOSQL數據庫,他的數據是按照key和value的形式存儲的並且key是唯壹的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。

Kafka:這是個比較好用的隊列工具,隊列是幹嗎的?排隊買票妳知道不?數據多了同樣也需要排隊處理,這樣與妳協作的其它同學不會叫起來,妳幹嗎給我這麽多的數據(比如好幾百G的文件)我怎麽處理得過來,妳別怪他因為他不是搞大數據的,妳可以跟他講我把數據放在隊列裏妳使用的時候壹個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是妳給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時妳可以與壹個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。

Spark:它是用來彌補基於MapReduce處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬盤。特別適合做叠代運算,所以算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。

  • 上一篇:如何用SQL語句查詢數據庫字段?
  • 下一篇:什麽叫做補丁?有什麽用?
  • copyright 2024編程學習大全網