大數(shù)據(jù)是我們現(xiàn)在時代的重要特征,今天小編帶來了一篇淺談大數(shù)據(jù)Hadoop技術的文章,有需要的小伙伴一起來參考一下吧,希望能給大家?guī)韼椭?/p>
隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、共享經濟的高速發(fā)展,互聯(lián)網(wǎng)每天都會產生數(shù)以萬億的數(shù)據(jù),這些海量數(shù)據(jù)被稱作為大數(shù)據(jù)。在這個大數(shù)據(jù)時代,數(shù)據(jù)資源對我們生活產生了巨大影響,對企業(yè)經營決策也有著前瞻性指導意義。因此,大數(shù)據(jù)已經被視為一種財富、一種被衡量和計算價值的不可或缺的戰(zhàn)略資源。該文從大數(shù)據(jù)Hadoop技術談起、分別從Hadoop的核心技術、生態(tài)系統(tǒng)和Hadoop技術在教學中的應用四個方面進行了闡述。
當前,我國以信息技術為主導的創(chuàng)新經濟高速發(fā)展,特別是依托于移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術的網(wǎng)絡購物、移動支付、共享單車、微信通信交流等等,給人們生活方式帶來了深刻的變革。整個互聯(lián)網(wǎng)正在從IT(Information Technology)時代向DT(Data Technology)時代D變,在這個DT時代,人們從被動的數(shù)據(jù)瀏覽者轉變?yōu)橹鲃拥臄?shù)據(jù)生產者,人們每天的網(wǎng)絡購物信息、各種電子支付信息、使用共享單車信息、微信中瀏覽朋友圈的信息等等,都會產生數(shù)以萬億級的數(shù)據(jù),這樣龐大的數(shù)據(jù)如何存儲、如何傳輸、如何計算、如何分析、如何保證數(shù)據(jù)的完整性和安全性等等一系列新的技術挑戰(zhàn)應運而生。然而,Hadoop技術代表著最新的大數(shù)據(jù)處理所需的新的技術和方法,也代表著大數(shù)據(jù)分析和應用所帶來的新發(fā)明、新服務和新的發(fā)展機遇。
1 什么是Hadoop
Hadoop是一個由Apache基金會所開發(fā)的,開源的分布式系統(tǒng)基礎架構。簡單地說就是一套免費的分布式操作系統(tǒng)。我們以前使用的計算機系統(tǒng),都是安裝在一臺獨立主機上的單機版操作系統(tǒng)。例如我們熟知的微軟公司的Windows操作系統(tǒng)和蘋果公司的Mac OS。而分布式系統(tǒng)則是通過高速網(wǎng)絡把大量分布在不同地理位置、不同型號、不同硬件架構、不同容量的服務器主機連結在一起,形成一個服務器集群。分布式系統(tǒng)把集群中所有硬件資源(CPU、硬盤、內存和網(wǎng)絡帶寬)進行整合統(tǒng)一管理,形成具有極高運算能力,龐大存儲能力和高速的傳輸能力的系統(tǒng)。
Hadoop就是以Linux系統(tǒng)為原型開發(fā)的大數(shù)據(jù)分布式系統(tǒng)。Hadoop具有很強的擴展性,只要是接通網(wǎng)絡它就可以不斷加入不同地域、不同型號、不同性能的服務器主機,以提升集群的運算、存儲和網(wǎng)絡帶寬,以滿足大數(shù)據(jù)所需要的硬件要求。此外,Hadoop還具有極強的安全性,由于分布式系統(tǒng)數(shù)據(jù)是存儲在不同物理主機上的,而且Hadoop數(shù)據(jù)一般每個數(shù)據(jù)存儲三份,而且分布不同物理主機上,一旦其中一份數(shù)據(jù)損壞,其余正常數(shù)據(jù)會很快替代它,這樣很好地解決了數(shù)據(jù)完整性和安全性問題,為大數(shù)據(jù)提供了安全高速穩(wěn)定的系統(tǒng)平臺。
2 大數(shù)據(jù)Hadoop兩大核心技術
Hadoop框架最核心的技術就是:HDFS和MapReduce。HDFS為大數(shù)據(jù)提供了數(shù)據(jù)存儲文件系統(tǒng);MapReduce則為大數(shù)據(jù)提供了調度和管理數(shù)據(jù)的算法。
HDFS(Hadoop Distributed File System)它就像是我們Windows系統(tǒng)中使用的FAT、NTFS文件系統(tǒng)一樣,它就是Hadoop的文件格式系統(tǒng)。在單機版系統(tǒng)中,數(shù)據(jù)是存儲在一塊物理硬盤上,文件系統(tǒng)把硬盤按照磁道、扇區(qū)進行分區(qū)然后劃分成若干個存儲盤,為用戶呈現(xiàn)的就是C盤、D盤等。然而,在Hadoop系統(tǒng)中數(shù)據(jù)是存儲在集群不同的物理主機上,為用戶呈現(xiàn)的是例如像百度網(wǎng)盤的網(wǎng)絡路徑形式。用戶只要知道網(wǎng)絡路徑就可以存儲數(shù)據(jù),不用關心數(shù)據(jù)具體存儲在哪臺主機上,HDFS負責完成數(shù)據(jù)物理硬盤的格式化及存儲數(shù)據(jù)分配到哪個物理主機上的存儲管理工作。
MapReduce是Hadoop系統(tǒng)數(shù)據(jù)調度、傳輸和硬件資源管理的算法。MapReduce采用“分而治之”的思想,就是把一個大任務化解為若干的小任務,然后在把各個小任務分配到集群的不同結點上,然后在不同結點上完成各自任務,再把各節(jié)點的中間結果匯總整合,從而完成最終的大任務得到最終結果。簡單地說,MapReduce就是“任務的分解與結果的匯總”,這樣大大提高了Hadoop系統(tǒng)的運行效率。
3 大數(shù)據(jù)Hadoop技術的生態(tài)系統(tǒng)
Hadoop是一個開源分布式大數(shù)據(jù)系統(tǒng),圍繞它形成一系列分布式軟件集合,來實現(xiàn)大數(shù)據(jù)的各項應用。就像我們熟知的Windows系統(tǒng),需要Office軟件來做文字處理工作;用PhotoShop來做圖像處理工作;用 MS SQL Server來做數(shù)據(jù)庫管理工作等。為了對大數(shù)據(jù)進行存儲、數(shù)據(jù)分析、數(shù)據(jù)挖掘,各大企業(yè)經過長期探索在實踐中形成了Hadoop為核心的一系列軟件集合,我們稱它為大數(shù)據(jù)Hadoop生態(tài)系統(tǒng)。下面我們就一一介紹:
Hive――Hadoop數(shù)據(jù)倉庫工具。Hive主要是為大數(shù)據(jù)提供數(shù)據(jù)存儲,并通過SQL語句轉換為MapReduce任務來實現(xiàn)數(shù)據(jù)管理工作。
Sqoop――Hadoop數(shù)據(jù)轉換工具。Sqoop主要用于在Hive與傳統(tǒng)的數(shù)據(jù)庫(mysql、postgresql... )間進行數(shù)據(jù)的傳遞與轉換工作。
Flume――Hadoop文件收集工具。Flume主要用于網(wǎng)絡上實時海量日志的采集、聚合和傳輸工作。
Oozie――Hadoop任務調度工具。Oozie主要用于大數(shù)據(jù)任務調度管理工作,就像Windows中的任務管理器一樣。
ZooKeeper――Hadoop 協(xié)調管理工具。ZooKeeper主要用于協(xié)調和管理Hadoop生態(tài)系統(tǒng)各軟件的同步與配合的工具,這樣方便統(tǒng)一和簡化大數(shù)據(jù)軟件管理工作。
Hue――Hadoop大數(shù)據(jù)Web開發(fā)管理工作。Hue主要用于大數(shù)據(jù)通過Web界面進行可視化展示、呈現(xiàn)數(shù)據(jù)結果和管理。 4 大數(shù)據(jù)的應用
4.1 Hadoop在企I中的應用
隨著大數(shù)據(jù)技術的發(fā)展方興未艾,國內外各大互聯(lián)網(wǎng)巨頭公司紛紛加入其中,像國外的Yahoo、亞馬遜、Intel、IBM和Facebook,國內的阿里巴巴、百度和騰訊等都有了自己的Hadoop大數(shù)據(jù)項目。以Hadoop技術為代表的大數(shù)據(jù)已經相對成熟,因此,各大公司紛紛招聘大量掌握Hadoop技術的專業(yè)人才。經過市場調研主要有三個方向:
Hadoop運維工程師:能夠搭建Hadoop生態(tài)系統(tǒng)平臺,掌握Hadoop框架所有系統(tǒng)的部署與調試工作,并且可以修改配置文件和維護Hadoop生態(tài)系統(tǒng)平臺。
Hadoop數(shù)據(jù)工程師:理解Hadoop運行原理,可以獨立編寫MapReduce程序,進行大數(shù)據(jù)分析和數(shù)據(jù)挖掘工作
Hadoop系統(tǒng)架構師:全面掌握Hadoop生態(tài)系統(tǒng)的規(guī)劃、部署、調試和獨立編寫MapReduce程序,從而對數(shù)據(jù)進行分析和數(shù)據(jù)挖掘,為決策提供支持和數(shù)據(jù)保障。
4.2 Hadoop在高職教學中的應用
高職教育層次的學生,學習大數(shù)據(jù)Hadoop技術,主要是面向Hadoop運維工程師崗位,而Hadoop數(shù)據(jù)工程師和系統(tǒng)架構師則是面向本科生或是研究生層次的學生。根據(jù)Hadoop運維工程師崗位需求,結合高職學生特點,可以開設相應項目化實訓課程,主要實訓課程需要相應實訓環(huán)境,根據(jù)充分調研,現(xiàn)提出一種實訓方案如下:
大數(shù)據(jù)Hadoop技術的實訓環(huán)境搭建與部署,是在Linux系統(tǒng)上通過虛擬化技術在集群服務器上進行分布式存儲和計算的一系列應用軟件的集合。因此,教學實訓需要相應硬件和軟件作為支撐。本方案是考慮成本和實訓效果,按照一個大數(shù)據(jù)實訓室來規(guī)劃,由36臺學生機和1臺教師機,一個光線交換機和一臺萬兆路由器組成的。
硬件方面:Hadoop是分布式系統(tǒng),需要虛擬技術虛擬出多臺計算機進行實訓,因此,硬件上需要高性能的計算機和高速千兆網(wǎng)絡為基礎。
軟件方面:Hadoop系統(tǒng)是安裝在Linux系統(tǒng)上的,但是考慮方便教學,因此本方案是在Windows系統(tǒng)上安裝虛擬化軟件(VMware),在VMware上安裝Linux 64位的操作系統(tǒng)(CentOS 6.4)作為教學和項目實驗的基礎環(huán)境。
實訓課程:根據(jù)Hadoop運維工程師崗位對培養(yǎng)人才的需要,并結合Hadoop生態(tài)系統(tǒng),本方案開設八個實訓項目,來完成大數(shù)據(jù)Hadoop實訓教學任務,每個實訓項目都分為項目知識儲備、項目提出、項目分析、項目準備和項目實施五個部分。具體如下:
5 小結
發(fā)展大數(shù)據(jù)Hadoop技術是新時代的發(fā)展潮流,也是信息化技術的發(fā)展趨勢,各大企業(yè)也競相追逐的熱門技術。大數(shù)據(jù)Hadoop技術前景一片光明。因此,高等職業(yè)學校開設相應課程是適應市場需要,提升學生就業(yè)競爭力,以解決大數(shù)據(jù)人才短缺的供需矛盾。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯(lián)系我們及時刪除。