天天看點

Hadoop真的适合你嗎?

許多公司都在為管理海量資料不斷努力。以前,他們都使用資料倉庫平台,用這種傳統架構在處理來自内部和外部資料源的資料時有很大困難,這些資料的結構和内容類型通常非常多樣化,但hadoop可以對此場景提供幫助。hadoop是一款分布式處理架構,專門用來處理複雜的海量大資料,處理結構化、非結構化和半結構化資料混雜的場景。

hadoop的部分優勢在于,它有許多種開源元件和相關工具,可以完成資料捕獲、處理、管理和分析工作。為了幫助使用者利用好該架構,許多供應商提供了商業版hadoop分布式産品,它們在hadoop基礎之上提供了性能和功能方面的擴充,并提供對該架構的維護和支援服務。

hadoop分布式應用的案例場景

hadoop運作在商用伺服器叢集環境中,這種環境通常用來支援資料分析而不是聯機事務處理應用。有幾種更加通用的分析應用案例可以很好地展示hadoop分布式資料處理和并行計算模型:

業務智能應用要從事務處理系統群組織資産系統中捕獲流式資料,監視性能水準,應用預測分析做預備維護或者處理變更。

web分析本來是為了幫助公司了解站點通路者的線上活動情況,通過檢查web伺服器日志來檢測系統性能問題,發掘營銷資訊。

安全和風險管理,例如:運作分析模型把事務資料與欺詐活動模式知識庫做比較,利用持續網絡安全分析識别新出現的可疑行為。

營銷優化,包括利用大量網絡點選和線上銷售資料,再結合客戶檔案資訊設計形成推薦引擎提供實時産品捆綁銷售建議。

物聯網應用,例如從制造業裝置、管道和所謂智能建築安置的傳感器終端擷取資料做分析,這些傳感器會持續生成并廣播關于狀态和性能的資訊。

語義分析和品牌保護,可能需要捕獲流式社交媒體資料并分析文本,識别出有意見的客戶提出的問題并快速解決。

大資料收集、處理和整合場景,例如捕獲衛星圖像和地理空間資料。

資料暫存,hadoop用于做第一手資料的存儲,然後才會做整合、清洗和轉換為更加結構化的格式,未來加載到資料倉庫或分析資料庫用于分析。

hadoop分布式應用的實作方式

支援以上這些應用場景的應用都可以基于hadoop建構,可以使用一些典型的實作方法。說明如下:

資料湖。因為hadoop提供了線性擴充能力,叢集架構中很容易加入新資料節點做處理和存儲,是以它提供了非常自然的平台用于捕獲和管理原始資料檔案。基于這一特性,許多使用者把hadoop系統用作捕獲所有資料的平台,創造了資料湖的概念。

增強的資料倉庫平台。hadoop分布式存儲還可以用于擴充資料,供資料倉庫環境通路用于分析。最頻繁使用的“熱資料”存儲在資料倉庫中,而不太頻繁的“冷資料”可以送出到更高延時的存儲,例如hadoop分布式檔案系統。這種方法依賴于資料倉庫與hadoop內建的緊耦合。

大規模批量計算引擎。如果配置了資料和計算節點,hadoop就變成了大規模并行處理平台,可以用于批量處理應用做資料操作和分析。資料标準化就是很好的例子,可以對資料集應用轉換任務為分析做準備。算法驅動的分析應用(例如資料挖掘、機器學習、模式分析和預測模型)都可以用到hadoop的批處理能力,因為他們都需要針對海量分布式資料檔案并行處理,并疊加并行處理結果後提供最終結果集。

事件流分析處理引擎。hadoop環境還可以配置為實時或準實時處理收到的資料流。例如,客戶感受分析應用可以把多個通訊代理并行運作于hadoop叢集上,每個代理都有一套處理規則。

選擇hadoop的優勢:它真的适合你嗎?

hadoop是低成本高性能的計算架構,可以處理各種it和業務場景中組織對擴充處理能力或者擴充資料管理能力的需求。下面總結一下應用需求的特點以及建議選擇的基于hadoop分布式應用的資料管理平台。

擷取和處理大資料規範集、大規模非結構化資料和流式資料。例如,捕獲包含數十億線上事件資訊的web伺服器日志;跨不同資料集索引億級文檔;從衆多管道持續拉取資料流(諸如:社交媒體管道、證券市場資料、新聞釋出源和專家團隊釋出的内容等管道)。

排除性能障礙的需求。在傳統資料倉庫系統中,通常會有節流閥控制對資料的通路、延時、可用性或者貸款限制來保障應用性能,這與需要處理的資料量有關。

針對性能的線性可擴充性。随着資料量的增長和使用者數增加,環境性能可以随着計算能力和存儲資源線性擴充是非常關鍵的能力,尤其是在應用程式适合并行計算的場景下更是如此。

結構化資料和非結構化資料的混合場景。應用程式需要使用不同資料源的資料,包括結構化、非結構化和半結構化的資料。例如:文本資料或者伺服器日志資料。

it成本有效性。不需要花費購買高端伺服器或者專門的硬體裝置,系統架構師相信使用正常配置就可以達到可接受的性能。

hadoop應用到企業中

盡管把hadoop平台整合到企業應用中是完全可行的,但使用hadoop獲益仍然要考慮權衡。因為許多組織已經在傳統資料倉庫平台上做了巨大投資,是以引入更新的技術可能會遇到一些阻力。在引入hadoop分布式産品供應商之前,需要先解決潛在的障礙,評估叢集規模和配置需求。

例如,要判斷hadoop叢集如何與組織的資料倉庫和分析政策融合,判斷是否可以增強現有資料倉庫功能甚至替換它。另外,要判斷整合和互動方面需要處理的問題,審查配置可替代物,包括是否可以更有利于實施内部hadoop生态系統,或者基于雲或者托管環境。此外,要確定你已經聘用了具備相應技能的員工或者對現有職員進行再教育訓練。hadoop應用開發與傳統資料庫開發差異是很大的。

本文轉自d1net(轉載)