1. 程式人生 > >超越Hadoop的大資料分析之前言

超越Hadoop的大資料分析之前言

我試圖給人們學習大資料留下的一點深刻印象:儘管Apache Hadoop很有用,而且是一項非常成功的技術,但是這一觀點的前提已經有些過時了。考慮一下這樣一條時間線:由谷歌實現的MapReduce投入使用的時間可追溯到2002年,發表於2004年。Yahoo!於2006年發起Hadoop專案。MR是基於十年前的資料中心的經濟上的考慮。從那時以來,已經有太多的東西發生了變化:多核心處理器、大記憶體地址空間、10G網路頻寬、SSD,而至今,這已經產生足夠的成本效益。這些極大改變了在構建可容錯分散式商用系統規模方面的取捨。

此外,我們對於可處理資料的規模的觀念也發生了變化。成功的公司諸如亞馬遜、eBay、谷歌,它們想要更上一層樓,也促使隨後的商業領袖重新思考:資料可以用來做什麼?舉個例子,十年前是否有為大型圖書出版商優化業務的大規模圖論用例?不見得有。出版社高層不可能有耐心聽取這樣一個古怪的工程建議。這本書本身的營銷將基於大規模資料、開源、圖論引擎,它們也將在本書後續章節講到。同樣的,廣告科技和社交網路應用驅動著開發技術,而如今在工業化的因特網,採用Hadoop將顯的捉襟見肘,也就是所謂的“物聯網”——在某些情況下,會有幾個數量級的差距。

自從MR的商用硬體規模首次制定以來,底層系統的模型已發生了巨大變化。我們的商業需求與期望模型也發生了顯著的變化。此外,應用數學的資料規模與十年前的構想也有巨大的差異。如今主流程式語言也能為並行處理的軟體工程實踐提供更好的支援。

Agneeswaran博士認為這些檢視,以及對它們的更多關注和系統方法,呈現瞭如今大資料環境的全景檢視,甚至還有超越。本書引領我們看到過去十年如何通過MapReduce做批處理資料分析。這些章節介紹了理解它們的關鍵歷史背景,併為應用這些技術提供了清晰的商業用例的至關重要的方面。這些論據為每個用例提供了分析,並指出為什麼Hadoop不是很適合應用於此——通過對例證的徹底研究、對可用開源技術的出色調查、以及對非開源專案的出版文獻的回顧。

本書研究瞭如今的商業需求中除Hadoop以外的最佳實踐以及資料訪問方式的可用技術:迭代、流式處理(譯者注:原文是streaming)、圖論,以及其它技術。比如,一些企業的收入損失計算可精確到毫秒級,以至於“批處理視窗”這樣的概念變的毫無意義。實時分析是惟一可以想到的可行方案。開源框架諸如Apache Spark、Storm、Titan、GraphLab,還有Apache Mesos可以滿足這些需求。Agneeswaran博士引導讀者們瞭解這些框架的架構和計算模型、研究通用設計模式。他在書中提到了業務範圍的影響以及實現細節還有程式碼樣例。

伴隨著這些框架,本書也為開放標準預測模型標記語言提出了一個引人入勝的例子,使得預測模型可以在不同平臺與環境之間遷移。本書還提到YARN以及下一代超越MapReduce的模型。

這正是當今業界的焦點——Hadoop基於2002年以來的IT經濟,然而更新的框架與當代業界的用例更為密切。另外,本書既提供了專家指導,也熱烈歡迎由大資料分析開啟的無限可能。

Paco Nathan

Zettacap的顧問以及Amplify的合作伙伴