Hadoop教程(一):简介、大数据解决方案、介绍快速入门
“90%的世界數(shù)據(jù)在過去的幾年中產(chǎn)生”。
由于新技術(shù),設(shè)備和類似的社交網(wǎng)站通信裝置的出現(xiàn),人類產(chǎn)生的數(shù)據(jù)量每年都在迅速增長(zhǎng)。美國(guó)從一開始的時(shí)候到2003年產(chǎn)生的數(shù)據(jù)量為5十億千兆字節(jié)。如果以堆放的數(shù)據(jù)磁盤的形式,它可以填補(bǔ)整個(gè)足球場(chǎng)。在2011年創(chuàng)建相同數(shù)據(jù)量只需要兩天,在2013年該速率仍在每十分鐘極大地增長(zhǎng)。雖然生產(chǎn)的所有這些信息是有意義的,處理起來有用的,但是它被忽略了。
什么是大數(shù)據(jù)?
大數(shù)據(jù)是不能用傳統(tǒng)的計(jì)算技術(shù)處理的大型數(shù)據(jù)集的集合。它不是一個(gè)單一的技術(shù)或工具,而是涉及的業(yè)務(wù)和技術(shù)的許多領(lǐng)域。
在大數(shù)據(jù)會(huì)發(fā)生什么?
大數(shù)據(jù)包括通過不同的設(shè)備和應(yīng)用程序所產(chǎn)生的數(shù)據(jù)。下面給出的是一些在數(shù)據(jù)的框架下的領(lǐng)域。
-
黑匣子數(shù)據(jù):這是直升機(jī),飛機(jī),噴氣機(jī)的一個(gè)組成部分,它捕獲飛行機(jī)組的聲音,麥克風(fēng)和耳機(jī)的錄音,以及飛機(jī)的性能信息。
-
社會(huì)化媒體數(shù)據(jù):社會(huì)化媒體,如Facebook和Twitter保持信息發(fā)布的數(shù)百萬世界各地的人的意見觀點(diǎn)。
-
證券交易所數(shù)據(jù):交易所數(shù)據(jù)保存有關(guān)的“買入”和“賣出”,客戶由不同的公司所占的份額決定的信息。
-
電網(wǎng)數(shù)據(jù):電網(wǎng)數(shù)據(jù)保持相對(duì)于基站所消耗的特定節(jié)點(diǎn)的信息。
-
交通運(yùn)輸數(shù)據(jù):交通數(shù)據(jù)包括車輛的型號(hào),容量,距離和可用性。
-
搜索引擎數(shù)據(jù):搜索引擎獲取大量來自不同數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
因此,大數(shù)據(jù)包括體積龐大,高流速和可擴(kuò)展的各種數(shù)據(jù)。它的數(shù)據(jù)為三種類型。
-
結(jié)構(gòu)化數(shù)據(jù):關(guān)系數(shù)據(jù)。
-
半結(jié)構(gòu)化數(shù)據(jù):XML數(shù)據(jù)。
-
非結(jié)構(gòu)化數(shù)據(jù):Word, PDF, 文本,媒體日志。
大數(shù)據(jù)的好處
-
通過保留了社交網(wǎng)絡(luò)如Facebook的信息,市場(chǎng)營(yíng)銷機(jī)構(gòu)了解可以他們的活動(dòng),促銷等廣告媒介的響應(yīng)。
-
利用信息計(jì)劃生產(chǎn)在社會(huì)化媒體一樣喜好并讓消費(fèi)者對(duì)產(chǎn)品的認(rèn)知,產(chǎn)品企業(yè)和零售企業(yè)。
-
使用關(guān)于患者以前的病歷資料,醫(yī)院提供更好的和快速的服務(wù)。
大數(shù)據(jù)技術(shù)
大數(shù)據(jù)的技術(shù)是在提供更準(zhǔn)確的分析,這可能影響更多的具體決策導(dǎo)致更大的運(yùn)行效率,降低成本,并減少了對(duì)業(yè)務(wù)的風(fēng)險(xiǎn)。
為了利用大數(shù)據(jù)的力量,需要管理和處理的實(shí)時(shí)結(jié)構(gòu)化和非結(jié)構(gòu)化的海量數(shù)據(jù),可以保護(hù)數(shù)據(jù)隱私和安全的基礎(chǔ)設(shè)施。
目前在市場(chǎng)上的各種技術(shù),從不同的供應(yīng)商,包括亞馬遜,IBM,微軟等來處理大數(shù)據(jù)。盡管找到了處理大數(shù)據(jù)的技術(shù),我們研究了以下兩類技術(shù):
操作大數(shù)據(jù)
這些包括像MongoDB系統(tǒng),提供業(yè)務(wù)實(shí)時(shí)的能力,這里主要是數(shù)據(jù)捕獲和存儲(chǔ)互動(dòng)工作。
NoSQL大數(shù)據(jù)系統(tǒng)的設(shè)計(jì)充分利用已經(jīng)出現(xiàn)在過去的十年,而讓大量的計(jì)算,以廉價(jià),高效地運(yùn)行新的云計(jì)算架構(gòu)的優(yōu)勢(shì)。這使得運(yùn)營(yíng)大數(shù)據(jù)工作負(fù)載更容易管理,更便宜,更快的實(shí)現(xiàn)。
一些NoSQL系統(tǒng)可以提供深入了解基于使用最少的編碼無需數(shù)據(jù)科學(xué)家和額外的基礎(chǔ)架構(gòu)的實(shí)時(shí)數(shù)據(jù)模式。
分析大數(shù)據(jù)
這些包括,如大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)系統(tǒng)和MapReduce提供用于回顧性和復(fù)雜的分析,可能觸及大部分或全部數(shù)據(jù)的分析能力的系統(tǒng)。
MapReduce提供分析數(shù)據(jù)的基礎(chǔ)上,MapReduce可以按比例增加從單個(gè)服務(wù)器向成千上萬的高端和低端機(jī)的互補(bǔ)SQL提供的功能,這是系統(tǒng)的一種新方法。
這兩個(gè)類技術(shù)是互補(bǔ)的,并經(jīng)常一起部署。
操作與分析系統(tǒng)
| 等待時(shí)間 | 1 ms - 100 ms | 1 min - 100 min |
| 并發(fā) | 1000 - 100,000 | 1 - 10 |
| 訪問模式 | 寫入和讀取 | 讀取 |
| 查詢 | 選擇 | 非選擇性 |
| 數(shù)據(jù)范圍 | 操作 | 回溯 |
| 最終用戶 | 顧客 | 數(shù)據(jù)科學(xué)家 |
| 技術(shù) | NoSQL | MapReduce, MPP 數(shù)據(jù)庫(kù) |
大數(shù)據(jù)的挑戰(zhàn)
大數(shù)據(jù)相關(guān)的主要挑戰(zhàn)如下:
- 采集數(shù)據(jù)
- 策展
- 存儲(chǔ)
- 搜索
- 分享
- 傳輸
- 分析
- 展示
為了實(shí)現(xiàn)上述挑戰(zhàn),企業(yè)通常需要企業(yè)級(jí)服務(wù)器的幫助。
傳統(tǒng)的企業(yè)方法
在這種方法中,一個(gè)企業(yè)將有一個(gè)計(jì)算機(jī)存儲(chǔ)和處理大數(shù)據(jù)。對(duì)于存儲(chǔ)而言,程序員會(huì)自己選擇的數(shù)據(jù)庫(kù)廠商,如Oracle,IBM等的幫助下完成,用戶交互使用應(yīng)用程序進(jìn)而獲取并處理數(shù)據(jù)存儲(chǔ)和分析。
局限性
這種方式能完美地處理那些可以由標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)服務(wù)器來存儲(chǔ),或直至處理數(shù)據(jù)的處理器的限制少的大量數(shù)據(jù)應(yīng)用程序。但是,當(dāng)涉及到處理大量的可伸縮數(shù)據(jù),這是一個(gè)繁忙的任務(wù),只能通過單一的數(shù)據(jù)庫(kù)瓶頸來處理這些數(shù)據(jù)。
谷歌的解決方案
使用一種稱為MapReduce的算法谷歌解決了這個(gè)問題。這個(gè)算法將任務(wù)分成小份,并將它們分配到多臺(tái)計(jì)算機(jī),并且從這些機(jī)器收集結(jié)果并綜合,形成了結(jié)果數(shù)據(jù)集。
Hadoop
使用谷歌提供的解決方案,Doug Cutting和他的團(tuán)隊(duì)開發(fā)了一個(gè)開源項(xiàng)目叫做HADOOP。
Hadoop使用的MapReduce算法運(yùn)行,其中數(shù)據(jù)在使用其他并行處理的應(yīng)用程序。總之,Hadoop用于開發(fā)可以執(zhí)行完整的統(tǒng)計(jì)分析大數(shù)據(jù)的應(yīng)用程序。
Apache?Hadoop?是用于開發(fā)在分布式計(jì)算環(huán)境中執(zhí)行的數(shù)據(jù)處理應(yīng)用程序的框架。類似于在個(gè)人計(jì)算機(jī)系統(tǒng)的本地文件系統(tǒng)的數(shù)據(jù),在 Hadoop 數(shù)據(jù)保存在被稱為作為Hadoop分布式文件系統(tǒng)的分布式文件系統(tǒng)。處理模型是基于“數(shù)據(jù)局部性”的概念,其中的計(jì)算邏輯被發(fā)送到包含數(shù)據(jù)的集群節(jié)點(diǎn)(服務(wù)器)。這個(gè)計(jì)算邏輯不過是寫在編譯的高級(jí)語言程序,例如?Java. 這樣的程序來處理Hadoop?存儲(chǔ)?的 HDFS 數(shù)據(jù)。
Hadoop是一個(gè)開源軟件框架。使用Hadoop構(gòu)建的應(yīng)用程序都分布在集群計(jì)算機(jī)商業(yè)大型數(shù)據(jù)集上運(yùn)行。商業(yè)電腦便宜并廣泛使用。這些主要是在低成本計(jì)算上實(shí)現(xiàn)更大的計(jì)算能力非常有用。你造嗎?? 計(jì)算機(jī)集群由一組多個(gè)處理單元(存儲(chǔ)磁盤+處理器),其被連接到彼此,并作為一個(gè)單一的系統(tǒng)。
Hadoop的組件
下圖顯示了 Hadoop 生態(tài)系統(tǒng)的各種組件
Apache Hadoop 由兩個(gè)子項(xiàng)目組成 -
雖然 Hadoop 是因?yàn)?MapReduce 和分布式文件系統(tǒng) - HDFS 而最出名的, 該術(shù)語也是在分布式計(jì)算和大規(guī)模數(shù)據(jù)處理的框架下的相關(guān)項(xiàng)目。 Apache Hadoop?的其他相關(guān)的項(xiàng)目包括有:Hive,?HBase,?Mahout,?Sqoop?,?Flume?和?ZooKeeper.
Hadoop 功能
? 適用于大數(shù)據(jù)分析
作為大數(shù)據(jù)在自然界中趨于分布和非結(jié)構(gòu)化,Hadoop?集群最適合于大數(shù)據(jù)的分析。因?yàn)?#xff0c;它處理邏輯(未實(shí)際數(shù)據(jù))流向計(jì)算節(jié)點(diǎn),更少的網(wǎng)絡(luò)帶寬消耗。這個(gè)概念被稱為數(shù)據(jù)區(qū)域性概念,它可以幫助提高基于 Hadoop 應(yīng)用程序的效率。
? 可擴(kuò)展性
HADOOP集群通過增加附加群集節(jié)點(diǎn)可以容易地?cái)U(kuò)展到任何程度,并允許大數(shù)據(jù)的增長(zhǎng)。 另外,標(biāo)度不要求修改到應(yīng)用程序邏輯。
? 容錯(cuò)
HADOOP生態(tài)系統(tǒng)有一個(gè)規(guī)定,來復(fù)制輸入數(shù)據(jù)到其他群集節(jié)點(diǎn)。這樣一來,在集群某一節(jié)點(diǎn)有故障的情況下,數(shù)據(jù)處理仍然可以繼續(xù),通過使用存儲(chǔ)另一個(gè)群集節(jié)點(diǎn)上的數(shù)據(jù)。
網(wǎng)絡(luò)拓?fù)渲械腍adoop
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(布局),當(dāng) Hadoop 集群的大小增長(zhǎng)會(huì)影響到 Hadoop 集群的性能。除了性能,人們還需要關(guān)心故障的高可用性和處理。為了實(shí)現(xiàn)這個(gè)Hadoop集群構(gòu)造,利用了網(wǎng)絡(luò)拓?fù)洹?/p>
通常情況下,網(wǎng)絡(luò)帶寬是任何網(wǎng)絡(luò)要考慮的一個(gè)重要因素。然而,測(cè)量帶寬可能是比較困難的,在 Hadoop 中,網(wǎng)絡(luò)被表示為樹,在 Hadoop 集群節(jié)點(diǎn)之間樹(跳數(shù))的距離是一個(gè)重要因素。在這里,兩個(gè)節(jié)點(diǎn)之間的距離等于自己最近的公共祖先總距離。
Hadoop集群包括數(shù)據(jù)中心,機(jī)架和其實(shí)際執(zhí)行作業(yè)的節(jié)點(diǎn)。這里,數(shù)據(jù)中心包括機(jī)架,機(jī)架是由節(jié)點(diǎn)組成。可用網(wǎng)絡(luò)帶寬進(jìn)程的變化取決于進(jìn)程的位置。 也就是說,可用帶寬變得更小,因?yàn)?-
- 在同一個(gè)節(jié)點(diǎn)上的進(jìn)程
- 同一機(jī)架上的不同節(jié)點(diǎn)
- 在相同的數(shù)據(jù)中心的不同的機(jī)架節(jié)點(diǎn)
- 在不同的數(shù)據(jù)中心節(jié)點(diǎn)
from: http://www.yiibai.com/hadoop/
總結(jié)
以上是生活随笔為你收集整理的Hadoop教程(一):简介、大数据解决方案、介绍快速入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发 Eclipse 插件
- 下一篇: Hadoop教程(二):安装