2019-05-23 15:02:33 5177瀏覽
如今參加大數據培訓的小伙伴有很多,有很多的新手朋友對大數據開發(fā)還不是很了解,本篇文章扣丁學堂大數據培訓小編就給讀者們分享一些新手需要了解的Hadoop常見問題,感興趣的小伙伴就來看看吧。
1、Hadoop適不適用于電子政務?為什么?
電子政務是利用互聯網技術實現政府組織結構和工作流程的重組優(yōu)化,建成一個精簡、高效、廉潔、公平的政府運作信息服務平臺。因此電子政務肯定會產生相關的大量數據以及相應的計算需求,而這兩種需求涉及的數據和計算達到一定規(guī)模時傳統(tǒng)的系統(tǒng)架構將不能滿足,就需要借助海量數據處理平臺,例如Hadoop技術,因此可以利用Hadoop技術來構建電子政務云平臺。
總結一下,任何系統(tǒng)沒有絕對的適合和不適合,只有當需求出現時才可以決定,在一個非常小的電子政務系統(tǒng)上如果沒有打數據處理以及計算分析需求時就不需要hadoop這樣的技術,而實際上,商用的電子政務平臺往往涉及到大規(guī)模的數據和大量的計算分析處理需求,因此就需要Hadoop這樣的技術來解決。
2、hadoop對于實時在線處理有優(yōu)勢嗎?
直接使用hadoop進行實時處理時沒有優(yōu)勢的,因為Hadoop主要解決的是海量批處理作業(yè)計算問題,但是可以使用基于Hadoop的分布式NOSQL系統(tǒng)HBase系統(tǒng)以及相關實時處理系統(tǒng):
a、基于Hadoop的HBase可以做到實時處理以及相關需求的實時計算,主要解決海量相關查詢計算等需求。
b、可以考慮Spark計算,Spark是基于共現內存RDD的系統(tǒng),比Hadoop更快,時候迭代式計算,例如數據挖掘,機器學習算法等。
c、還有Storm,Storm是一個免費開源、分布式、高容錯的實時計算系統(tǒng),Storm經常用于在實時分析、在線機器學習、持續(xù)計算、分布式遠程調用和ETL等領域。
d、考慮S4,S4是Yahoo!在2010年10月開源的一套通用、分布式、可擴展、部分容錯、具備可插拔功能的平臺。這套平臺主要是為了方便開發(fā)者開發(fā)處理流式數據(continuous unboundedstreamsofdata)的應用。
你可以依據實際的需求來選擇合適的系統(tǒng)。
3、Hadoop存儲海量數據沒有問題,但是如何能夠做到海量數據的實時檢索?
a、可以結合開源的搜索引擎Apache Lucene,Solr或ElasticSearch
b、海量數據的實時檢索可以考慮HBase,建議可以使用hadoop將數據構建成以查詢key為鍵的數據集,然后將value>集合寫入Hbase表中,Hbase會自動以key為鍵進行索引,在數十億甚至以上的級別下,查詢key的value響應時間也估計再10毫秒內。
如果檢索條件是多個組合的情況下,可以適當的設計多個hbase表格,這樣的檢索也是很快的,同時Hbase也是支持二級索引。在符合條件下查詢,Hbase也是支持MapReduce的,如果對響應時間要求不高的情況下,可以考慮將hive和Hbase系統(tǒng)結合來使用。
如果數據量不是很大的情況下也可以考慮支持類似SQL的NOSLQ系統(tǒng)。
4、能不能給點hadoop的學習方法以及學習規(guī)劃,hadoop系統(tǒng)有點龐大,感覺無從學起?
首先搞清楚什么是hadoop以及hadoop可以用來做什么?
然后,可以從最經典的詞頻統(tǒng)計程序開始,初步了解MapReduce的基本思路和處理數據的方式。
接著,就可以正式學習hadoop的基本原理,包括HDFS和MapReduce,先從整體,宏觀核心原理看,先別看源碼級別。
進一步,就可以深入HDFS和MapReduce和模塊細節(jié),這個時候可以結合源碼深入理解,以及實現機制。
最后就是需要實戰(zhàn)了,可以結合自己的項目或者相關需求來完成一些hadoop相關應用。
5、c/c++
程序員如何入門Hadoop到深入了解,并在Linux服務器上布置運用,有沒有方向性的指導?
針對C/C++用戶,Hadoop提供了hadoop
streaming接口和pipes接口,hadoop
streaming接口以標準輸入和標準輸出作為用戶程序和hadoop框架交互的中間件,pipes這是專門針對C/C++語言的接口,以socket作為同學中介。
從使用上建議從streaming入手,pipes相比streaming問題比較多,而且pipes調試不容易。
6、學習hadoop該怎么入手呢?應該做一些什么樣的項目呢?
可以參考我們上面的幾個回答,可以從最簡單詞頻統(tǒng)計程序入手,然后學習理解HDFS和MapReduce的基本原理和核心機制,如果僅僅把Hadoop作為一個工具來使用的話這樣就可以了,最重要的就是實戰(zhàn)了,可以嘗試使用Hadoop處理一些數據,例如做日志分析,數據統(tǒng)計,排序,倒排索引等典型應用。
最后想要了解更多內容的小伙伴可以登錄扣丁學堂官網咨詢,扣丁學堂有專業(yè)老師制定的大數據學習路線圖輔助學員學習,此外還有與時俱進的大數據視頻教程供大家學習,想要學好大數據開發(fā)的同學請加入扣丁學堂學習吧??鄱W堂大數據學習群:209080834。
【關注微信公眾號獲取更多學習資料】 【掃碼進入Python全棧開發(fā)免費公開課】