如果你希望分析的大量數(shù)據(jù)已經(jīng)位于云計算中,那么現(xiàn)貨實(shí)例就可立刻運(yùn)行了。但是,如果上傳和存儲大量數(shù)據(jù)的成本要超過使用云計算資源所帶來的成本節(jié)省,那么也許使用內(nèi)部集群或內(nèi)部私有云計算則可能更為適合。
如果現(xiàn)貨實(shí)例是滿足你進(jìn)行大數(shù)據(jù)分析任務(wù)需求的一個選項,那么你可能可以使用Amazon公司的 Elastic Map Reduce(EMR)和EC2現(xiàn)貨實(shí)例。EMR可以執(zhí)行映射降維方法處理大數(shù)據(jù)。這一計算模型可以很好地處理獨(dú)立分析大量數(shù)據(jù)的任務(wù)(映射階段);而結(jié)果則整合在一組以類似隱射降維模式處理的新數(shù)據(jù)集中(降維階段)。
很多--但不是全部--大數(shù)據(jù)項目都適合于采用映射降維方法。諸如分析社會網(wǎng)絡(luò)或電子郵件消息流量等網(wǎng)絡(luò)分析問題都不適于采用映射降維方法。除了為分析大型數(shù)據(jù)集提供了一個可擴(kuò)展的平臺,EMR供應(yīng)商還提供了在現(xiàn)貨實(shí)例回收時支持恢復(fù)的容錯能力。
Amazon公司的EMR只是一個在你的應(yīng)用程序架構(gòu)中引入容錯機(jī)制的方法。如果你與并未具有容錯設(shè)計意識的定制應(yīng)用程序協(xié)作,可以考慮使用一個檢查點(diǎn)策略來保存與持久存儲計算狀態(tài)相關(guān)的信息。當(dāng)你的應(yīng)用程序開始時,檢查點(diǎn)功能可以檢測出最后保存狀態(tài)的信息,并從該點(diǎn)處繼續(xù)執(zhí)行處理操作。
你還可以使用消息排隊技術(shù)來維持一個仍需處理的任務(wù)列表。運(yùn)行在Amazon EC2現(xiàn)貨實(shí)例上的應(yīng)用程序可以從暫停的任務(wù)列表中提取一個任務(wù),并在當(dāng)前處理隊列中新增一個消息以標(biāo)明現(xiàn)貨實(shí)例正在執(zhí)行任務(wù)。當(dāng)該任務(wù)完成時,它將從當(dāng)前處理隊列中移除該任務(wù)。腳本程序可以不定期檢查當(dāng)前處理隊列中任務(wù)的時間屬性,如果任務(wù)在一個合理的時間閾值內(nèi)還沒有被完成,這些任務(wù)就會被添加回暫停隊列(可能是因?yàn)楝F(xiàn)貨實(shí)例已被回收)。
當(dāng)在云計算環(huán)境中執(zhí)行大數(shù)據(jù)分析操作時,現(xiàn)貨實(shí)例可以幫助減少你的底線。在現(xiàn)貨實(shí)例上運(yùn)行你的應(yīng)用程序之前,請務(wù)必考慮你的應(yīng)用程序的性能需求和容錯特性。