縱觀近幾年的互聯(lián)網發(fā)展趨勢,看到大數據被炒得火熱,也想要涉足大數據領域,學習一些大數據技術,但奈何自己目前是零基礎,能學會大數據技術嗎?大數據培訓課程好學嗎?
首先我們先認識到一個問題,零基礎想要涉足大數據領域,肯定是有一定難度的,但有句話說的好“當你感覺特別累的時候,也就是說明你在走上坡路”。雖然困難,但只要你想學習,萬事皆有可能。
而學習的時間長短,是否能不浪費時間、不半途而廢,這個還是要找到一定到的方式方法。我是零基礎開始學習大數據的,知道自己水平有限,自學肯定是要半途而廢的節(jié)奏(人貴有自知之明),所以選擇了適合自己的千鋒大數據培訓,之所以說適合自己,是因為,千鋒老師的授課方式,在講解技術知識時,不會枯燥的只是對技術知識翻譯,會加入自己的理解,轉換成簡單的理解圖層,學習起來更加簡單,再就是全程面授的講課方式,有老師一直講課、輔導,學習起來進步很快!
下面是自己在學習過程中,總結的一些技術知識點,大家也可以先看看關于大數據技術知識,看看自己是否真的有興趣一直學習下去!
以上是HDFS的讀取過程圖示,分析如下:
1.客戶端或者用戶通過調用 FileSystem 對象的 open()方法打開需要讀取的文件,這對 HDFS 來說是常見一個分布式文件系統(tǒng)的一個讀取實例。
2.FileSystem 通過遠程協(xié)議調用 NameNode 確定文件的前幾個 Block 的位置。對于每一個 Block, NameNode 返回一含有那個 Block 拷貝的“元數據”,即文件基本信息;接下來,DataNode 按照上文定義的距離值進行排序,如果 Client 本身就是一個 DataNode,那么優(yōu)先從本地 DataNode 節(jié)點讀取數據。 HDFS 實例做完以上工作后,返回一個 FSDataInputStream給客戶端,讓其從 FSDataInputStream 中讀取數據。 FSDataInputStream 接著包裝一個DFSInputStream,用來管理 DataNode 和 NameNode 的 I/O。
3.NameNode向客戶端返回一個包含數據信息的地址,客戶端根據地址創(chuàng)建一個FSDataInputStream 開始對數據進行讀取。
4.FSDataInputStream 根據開始時存放的前幾個 Blocks 的 DataNode 的地址,連接到最近的 DataNode 上對數據開始從頭讀取??蛻舳朔磸驼{用 read()方法,以流式方式從DataNode 讀取數據。
5.當讀到 Block 的結尾的時候,F(xiàn)SDataInputStream 會關閉到當前 DataNode 的鏈接,然后查找能夠讀取下一個 Block 的最好的 DataNode。這些操作對客戶端是透明的,客戶端感覺到的是連續(xù)的流,也就說讀取的時候就開始查找下一個塊所在的地址。
6.讀取完成調用 close()方法,關閉 FSDataInputStream。
以上就是 HDFS 對數據進行讀取的整個流程。
大數據培訓課程好學嗎?這個一是看自己選擇的培訓機構,再就是看自己的學習能力和感興趣程度了,個人感受,自從在千鋒大數據培訓機構學習以來,前期學習起來比較吃力,但經過一段時間之后,就會覺得其實也沒有那么難了!