O'Reilly精品圖書推薦:大資料猩球:海量資料處理實踐指南

OReillyData發表於2016-10-18

書名:大資料猩球:海量資料處理實踐指南

作者Philip KromerRussell Jurney 著

譯者:唐李洋 譯

國內出版社:電子工業出版社

出版時間:2016年08月

頁數:212

書號:978-7-121-29418-1

原版書書名:Big Data for Chimps

原版書出版商:O'Reilly Media



編輯推薦



從超大規模的事件流中發現模式可能很困難,但是學習如何發現這些模式卻不見得很難。這本實戰指南告訴我們如何利用Apache Hadoop,使用簡單、有趣、精緻的工具,解決大規模資料處理中的模式發現以及很多其他問題。通過處理真實資料、解決現實問題,你將對大資料有一個實用的、可操作的認識。本書非常適合Hadoop新手,也很適合那些想要提升技能的有經驗的實踐家。其中,第一部分解釋了Hadoop和MapReduce的工作原理,第二部分講述了很多資料處理用到的分析模式。通過一些練習,你還將學會如何使用Apache Pig進行資料處理。

    學習使用Hadoop的必要原理,包括資料和計算在叢集中的移動行為

    深入理解MapReduce機制,用Python建立你的第一個MapReduce作業

    理解如何以Pig指令碼的形式執行MapReduce作業鏈

    全書使用真實資料集,即棒球統計資料集

    提供分析模式的示例,並學習何時何地使用這些分析模式


內容提要



《大資料猩球:海量資料處理實踐指南》以實用的、可操作的視角解釋了大資料。採用黑猩猩和大象的隱喻,基於棒球統計資料集,使用Apache Hadoop 和Pig 等工具展示瞭如何處理大規模資料。此外,通過處理真實資料、解決現實問題,作者還以例項的形式總結了一些實踐分析模式,為有創造力的分析人員提供了最強大、最有價值的方法。

《大資料猩球:海量資料處理實踐指南》特別適合那些需要大資料工具箱來解決實際問題的人們。


前言



《大資料猩球:海量資料處理實踐指南》以實用、可操作的視角解釋了大資料,以經過檢驗的最佳實踐為中心,向讀者展示了Hadoop的實戰智慧。

讀者將對大資料形成有用的、概念性的認識。資料就是洞察力,關鍵是理解大資料的可擴充套件性(scalability):即無限規模的資料取決於相異的樞軸點(pivot point)。我們會教你如何運用這些樞軸點進行資料操作。

最後,本書提供了真實資料和實際問題的具體示例,將概念和實際應用相結合。

本書梗概

《大資料猩球:海量資料處理實踐指南》講述瞭如何使用簡單、有趣、精緻的工具,解決大規模資料處理中的重要問題。

從超大規模的事件流中發現模式是一件重要而且困難的事情。大部分時候,地震是不會發生的——但是模式能夠根據平靜時期的資料提前預測是否會發生地震。如何在數以億計的事件中逐個對比數萬億個連續事件,從而發現極少數事關緊要的事件呢?一旦找到了這些模式,如何實時地做出響應?

我們選用大家都能夠理解的案例,而且它們具有普適性,能夠適用於其他問題解決的場景。我們的目的是向讀者提供:

    大規模思考的能力——使讀者深刻理解如何將一個問題分解為有效的資料轉換(datatransformation),以及叢集中的資料流動如何影響這些轉換。

    用詳細的示例程式碼在場景中展現如何使用Hadoop解決有意思的問題。

    關於有效軟體開發的建議和最佳實踐。

本書的全部示例都採用真實資料,用來描述很多問題領域中的模式,包括:

    建立統計概要。

    識別資料中的模式和組。

    批量查詢、過濾和移動記錄。

本書強調簡潔性和趣味性,特別吸引初學者,但同樣適合有經驗的人。你會發現本書為有創造力的分析人員提供了最強大、最有價值的方法。我們的座右銘是“機器人是廉價的,而人是重要的”:編寫可讀的、可擴充套件的程式碼,然後再確定是否需要一個較小的叢集。本書的程式碼改編自Infochimps和Data Syndrome解決企業級業務問題的程式,這些簡單的高階轉換能夠滿足我們的需求。

很多章節都配有練習。如果你是初學者,我們強烈建議你每一章都至少完成一個練習。在面前擺本書看,不如邊看書邊寫程式碼學得更深入。本書官網上有一些簡單的解決方案和結果資料集。

本書適合誰

我們希望你至少熟悉一種程式語言,並不一定非要是Python或Pig。熟悉SQL會有些幫助,但這不是必需的。如果有商務智慧方面的資料工作經歷或分析背景,會很有幫助。

更重要的是,你應該有一個需要大資料工具箱來解決問題的實際專案——這個問題要求在多個機器之間橫向擴充套件(scale out)。如果你沒有這樣的專案,但又確實很想學習大資料工具箱,看一下第3章,我們採用棒球資料。這是一個探索起來很有趣的大型資料集。

本書不適合誰

本書不是《Hadoop權威指南》(Hadoop: TheDefinitive Guide,已出版),而更像是《Hadoop固執指南》(Hadoop: A Highly Opinionated Guide)。本書唯一提到裸Hadoop API的地方就是,“大多數情況下,不要使用它”。我們推薦以某種空間不高效的格式儲存資料,還有很多時候我們鼓勵以小部分的效能損失換取程式設計師更多的愉悅。本書不厭其煩地強調編寫可擴充套件的程式碼,卻隻字不提編寫高效能的程式碼,因為獲取成倍加速比的最佳途徑是使用雙倍數量的機器。

這是因為,對大部分人來說,叢集的成本遠遠低於資料科學家使用它的機會成本。如果資料不僅大,還很巨大(比如100TB),而且我們期望在生產線上不斷地執行作業,那就需要考慮其他權衡了。但是,即使是PB級規模,仍然要按照我們介紹的方式來開發。

本書涉及Hadoop的提供和部署問題,以及一些重要的設定。但是並沒有真正介紹任何高階演算法、操作或調優問題。

本書沒有包括的內容

目前我們不討論Hive。對於熟悉Hive的人,Pig指令碼能夠天然地翻譯成Hive。

本書講的是網際網路上沒有的東西。我們不準備花時間介紹基礎教程和核心文件。另外,我們也不會涉及以下內容:

    Hadoop的安裝或維護。

    其他類MapReduce的平臺(Disco、Spark等),或其他框架(Wukong、Scalding、Cascading)。

有時候我們用到了Unix測試工具包(cut/wc/etc),但只是作為工具臨時用一下。我們並不會深入講述這些東西,有其他O’Reilly書籍詳細介紹這些實用工具。

理論:黑猩猩和大象

從第2章開始,你會看到黑猩猩和大象公司(Chimpanzeeand Elephant Company)熱情的員工們。大象記性好(記憶體很大),易於進行大規模遷移。通過大象類比組裝資料,有助於理解移動超大量資料的易點和難點。黑猩猩聰明,但是一次只能考慮一件事情。它們展示瞭如何在單個關注點下實現簡單的轉換,以及如何在不佔用更多空間的情況下分析PB級的資料。

黑猩猩和大象結合起來,共同隱喻瞭如何處理大規模資料。

實戰:Hadoop

Doug Cutting說,Hadoop是“大資料作業系統的核心”。Hadoop是最主流的批處理方案,既有商用企業支援,也擁有龐大的開源社群,能夠在每一個平臺和雲上執行——短期內這種形勢並不會改變。

本書中的程式碼無須改動即可在你的膝上型電腦或企業級Hadoop叢集上執行。我們使用docker提供一個虛擬Hadoop叢集,你可以在自己的筆記本上執行。

關於Python和MrJob

我們選擇Python有兩個原因。第一,作為一種高階語言(除了Python,還有Scala、R等),Python既擁有完美的Hadoop框架又具備廣泛的支援。更重要的是,Python是一種可讀性很強的語言。本書提供的示例程式碼能夠清晰地對映到其他高階語言,而且我們推薦的方法在任何語言中都是可用的。

具體來說,我們選擇Python語言框架MrJob。這是一個廣泛使用的開源框架。


關於作者



Philip Kromer

Flip is the founder and CTO at Infochimps.com, a big data platform that makes acquiring, storing and analyzing massive data streams transformatively easier. He enjoys Bowling, Scrabble, working on old cars or new wood, and rooting for the Red Sox.

Russell Jurney

Russsel Jurney在美國和墨西哥的賭場開始他的資料分析生涯。他開發了一個Web應用來分析老虎機的效能。在經歷了創業、互動式媒體和新聞業以後,他到了矽谷,在Ning和LinkedIn開始構建可擴充套件的資料分析應用。


關於本書更多精彩內容,請點選閱讀原文。

640?wx_fmt=png

相關文章