-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

尋路大數據:海量數據與大規模分析

( 簡體 字)
作者:戴志偉等類別:1. -> 程式設計 -> 大數據
譯者:
出版社:電子工業出版社尋路大數據:海量數據與大規模分析 3dWoo書號: 39986
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:11/1/2014
頁數:244
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121244728
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

推薦序1
《尋路大數據:海量數據與大規模分析》是一本系統化解讀大數據工程處理基礎技術的書籍。技術熱潮已然催生了形形色色的大數據處理技術及工具,但重要的并非魚與熊掌的孰優孰劣,而是如何選擇或組合這些技術并應用于實現不同的商業目標。
本書正是從這個角度評估了針對不同使用場景的大數據處理技術,從而幫助技術負責人及架構師做出不同的選型決策。我很高興看到了這本書的出版,它必將有益于大數據技術的各種具體實踐。
劉子正
微博常務副總經理

推薦序2
大數據這個概念,提出來已經有好幾年了。在這幾年中,作為一名數據工作者,我經常會參加各種大數據相關的討論,也會有朋友和企業提出一些大數據相關的咨詢需求。我感覺到,經過一波又一波的質疑和辯論,很多企業已經接受了大數據這個概念,認可大數據對于企業的重要性。眼前的問題,已經不是要不要開展大數據相關的工作,而是如何開展大數據工作。
企業需要將大數據的概念、技術、能力和企業自身的數據充分結合,來切實地提升企業的業務能力。實現這個目標要解決的一個問題是,大數據技術的發展太快、太新,能夠對大數據整體技術有了解的人很少。各類技術適合處理什么樣的數據?適合解決什么樣的問題?如何進行技術選型?這些問題對于實操規劃企業整體大數據發展的人非常重要,他們迫切需要介于宏觀的概念和細節的技術之間,對于規劃和選型立刻就能夠產生幫助的資源。
幾周之前,我有幸提前閱讀到本書的部分章節,很高興地發現,這本書所提供的,正好是這種立刻能夠產生幫助的信息,可以更好地幫助大家規劃和設計與企業業務密切結合的大數據應用,而作者豐富的經驗和對于大數據的深刻理解,也可以提高我們對于大數據的認知,避免在大數據的應用中走彎路,非常值得仔細閱讀。
廖若雪
高德公司 大數據與移動技術中心副總裁
前百度主任架構師,百度公司技術委員會主席

推薦序3
中國改革開放的總設計師曾經說:“不管黑貓白貓,能抓住老鼠就是好貓”,針對大數據技術我想也是如此。我們曾經花費了很多時間討論什么是大數據,多大才是大數據,而忽略了如何利用大數據技術來創造真正的價值。
隨著云計算、智能設備、物聯網的快速發展,以后每一個公司都會有大量的數據。而現在最重要的,我認為是快速學習大數據的思維、技術和方法解決工作中的實際問題,并對公司的決策提供支撐,對業務的發展提出建議。這才是大數據的真正價值。
正如本書中提到的“Data processing as a service”,從國內外的發展趨勢來看,大數據和云計算的結合越來越緊密,各大云計算運營商都陸續推出大數據處理平臺的產品,讓每個企業的數據人員能夠方便地應用大數據技術,從而專注于業務流程和數據本身,不被大數據基礎架構的建設和維護成本所約束,從而快速地發揮大數據的價值。
國慶節前楊毅邀請我為本書作序,楊毅是具有豐富的實戰經驗和對于大數據有深刻理解的業內人士,本書內容也一樣穩重而務實。不糾結于大數據名詞的定義,而關注于:如何利用各種技術進行大數據處理,如何在各種應用場景下利用大數據產生價值,如何根據企業自身的實際情況選擇合適的架構方案和技術解決實際問題,最終提升企業競爭力。這對于企業的技術負責人、大數據技術人員是非常有價值的。我認為每一個相信、追求并使用大數據的朋友都會和我一樣,通過本書加深對大數據的理解,提高對大數據的把握能力,從而為業務創造更大的價值。
大數據,大價值!
季昕華
UCloud 創始人& CEO
前盛大云CEO,盛大在線首席安全官

譯者序
大數據概念方興未艾,大數據技術正在蓬勃發展,市場上商用的、開源的數據處理系統和工具不斷涌現,你方唱罷我登場,好不熱鬧。作為從業者的我們,是否也開始有種“亂花漸欲迷人眼”的感覺呢?
本書就是為了應對這種情況而寫就的。雖然只有二百多頁,但本書的覆蓋面相當之廣,從數據采集、存儲、傳輸、處理、分析,一直到最后的展示,整個鏈條上的流行技術工具都有所涉及。而且難能可貴的是,本書不僅指出了常用的解決方案,更給出了各種方案的對比,讓讀者可以少走彎路,避開其中的陷阱,這無疑為讀者節約了大量時間成本。
除了技術方案之外,本書還對數據決策的非技術因素進行了深入的探討,并對未來趨勢進行了展望。對于決策者而言,本書同樣具有很好的參考價值。
嚴復在《天演論》中講道:“譯事三難:信、達、雅。”這句話不僅道出了翻譯的難點,也指出了翻譯的目標。在本書的翻譯過程中,譯者力求做到信達二字,在此基礎上盡力求“雅”。經過數月的翻譯和數次審校,終于完成了本書的翻譯工作,在此呈獻給讀者。由于譯者水平所限,譯文中可能仍有疏漏,真誠地希望廣大讀者不吝賜教。
衷心感謝電子工業出版社的張春雨老師、李云靜老師和其他編輯人員,由于他們的努力,這本好書才可能與國內讀者見面。
非常感謝我的家人,謝謝你們一如既往地支持我的工作。愛你們。
——戴志偉

大數據是毋庸置疑的技術趨勢和話題焦點,但是多數情況下,可能人們都太糾結大數據“是什么?不是什么?”,這讓話題看起來永遠都不會有結論。而本書作者另辟蹊徑,在另外的角度上對這一趨勢進行解讀,即什么才是大數據的正確之路。
現在我們就好像身處大數據技術演進的寒武紀時代,在這個技術變革時期,各種技術粉墨登場,快速演化。而這恰恰是人們對現有大數據技術一切疑惑和模棱兩可觀點的源頭,也正是作者在開篇第1章和結尾表述的觀點。因為我們身處變革當中,所以很好理解為什么作者并不急于回答“大數據是什么”。只要翻翻這本書,你一定會發現它和市面上其他大數據書籍的不同。
在書中,作者觀點如炬,常常金句不斷。既有具體數據處理工具的內容(比如用ff擴展包來解決R語言的單機數據集容量,采用Python的Pandas包來進行時間序列數據的上/下行重采樣),也有側重在戰略決策和產業生態的內容。比如選擇自研還是外購的關鍵其實在于能否給企業帶來比較競爭優勢,又如在“數據科學家興衰”這一流行問題上的深入探討,還有對人們樂于處理海量全樣本數據這一癖好的挑戰,書中讓人茅塞頓開的觀點比比皆是。作者還強調了當下普遍被忽視的一點,即那些經典的統計學方法(如統計抽樣、假設檢驗、顯著性分析等)依然是指導人們在“數據汪洋”中正確航行的“明燈”。
作者在最后的第13章和第14章提煉了本書的大部分觀點并升華為決策指南。相信不同閱讀目的的讀者,無論是一線數據處理工程師,還是數據流水線架構師,或者是大數據平臺和技術選型的決策人,都能從本書獲益匪淺。
最后,我想感謝我的家人們。她們是剛剛一歲半的乖女兒啵妞和賢惠的老婆,還有無私奉獻的老媽。謝謝你們支持我的工作。
——許楊毅

伴隨著網絡的高速發展,人們利用計算機存儲與處理的數據正呈現爆發性增長的態勢。繼搜索引擎與社交網絡之后,大數據相關技術日益成為行業關注的又一個熱點技術話題。也正是由于這些應用需求的推動,早期的數據庫等相關領域的技術逐漸演化發展為時下大數據技術的多項內容。
本書作者從事大數據相關領域多年,寫作此書的風格與市面上已有的許多“大數據”書籍不同:作者立足于全局的高度來論述大數據技術的方方面面,其綜合考慮應用場景、技術細節與選型的思路體現在各章節內容之中。本書概括綜合的特點突出,并不是針對特定數據處理技術深入研究的書籍。在內容上,本書兼顧了大數據技術相關技術的各個方面,以數據存儲、處理、展示的流程為線索展開具體各部分的敘述。對技術背景較少的讀者來說,本書在內容安排上能使他們很快了解各部分技術的相關要點,主旨突出、脈絡分明。作者論述精當,要言不煩,而各個層次的內容都有所覆蓋,是大數據相關技術入門與選型方面不可多得的指南型佳作。
首先在此向冠誠、志偉、楊毅三位合譯本書的成員表示感謝,能有機會與優秀的同行共事是我的榮幸。在合作翻譯本書的過程中,得到各位的鼎力支持與幫助,與你們的討論交流使我獲益良多。還要謝謝長久以來支持我學習工作的父母與親友,人生路上的點滴收獲都獻給為我默默付出的你們。
——鄢博

年初時,張春雨老師找到我,問我是否愿意接手翻譯一本大數據的新書,我當時著實猶豫了一陣子。因為做過一些技術書籍的翻譯工作,我深知要把一本技術書籍翻譯好不是一件容易的事情。但在粗略讀完本書的英文版之后,我的第一感覺就是:這本書跟別的大數據的書不一樣,作者在大數據領域經驗豐富、“干貨”很多,把這本書翻譯成中文版一定能讓更多的朋友從中受益。
本書涉及的大數據技術覆蓋的范圍非常廣泛,從Hadoop到Spark,從R語言到Google的BigQuery,從大規模機器學習到NoSQL等都有相關的介紹。不僅如此,作者還針對“如何基于商業需求進行大數據技術選型”做了非常有針對性的介紹。雖然現在市場上已經有了非常多介紹大數據的書籍,但卻缺一本對大數據的相關技術有一個全面介紹的“技術選型指南”。 如果你希望有這樣一本書,即它能幫你快速了解大數據技術的一個全貌,并對大數據技術的選型有一個較深入的理解,那么本書絕對是不二之選。
經過幾個月的翻譯與校對工作,本書的中文版終于要正式與讀者朋友們見面了。回想與幾位譯者以及編輯老師們一起走過的路,真的是感慨良多。感謝張春雨老師、李云靜老師的辛苦工作,沒有你們的大力支持,這本書不可能這么快與廣大讀者朋友見面。非常幸運能找到志偉、楊毅和鄢博來共同完成這本書的翻譯,與你們的合作使我受益良多,并讓我真切體驗了一次“中國合伙人”的感覺。感謝我的家人,特別是我的老婆和我們可愛的兒子,謝謝你們對我工作一如既往的支持,我愛你們。
因譯者水平有限,翻譯過程中難免存在一些疏漏,懇請廣大讀者朋友批評指正。如果大家有和本書相關的內容需要探討,或有相關的寶貴意見,歡迎通過chenguancheng@gmail.com和我們聯系。真誠希望大家能從這本書中有所收獲!
——陳冠誠


對數據進行采集、存儲和分析的工具種類非常繁多,而且新的工具還在不斷涌現。對于剛進入這個領域的新人來說,這往往意味著需要瀏覽眾多網站和相關書籍才能對大數據處理的基礎知識有個基本的了解。正因如此,這本書成為Addison-Wesley 數據分析(Data & Analytics)叢書的一個有力補充:本書對構建大數據分析系統的工具、技術和實用技巧進行了全面的介紹。
Michael 是介紹大數據分析的絕佳人選,他曾在Google 的云平臺開發者關系組工作,幫助開發者使用BigQuery(Google 的TB 級數據分析平臺)進行大規模數據分析。他將自己在大數據領域廣闊的知識面帶到了這本書中,為剛接觸大數據的人和尋求建議、技巧和工具的人提供了非常實用的實戰指南。
本書從大數據系統的成功應用開始介紹,之后陸續對NoSQL、分布式計算和CAP 理論進行了講解。在介紹使用Hadoop 和Hive 分析大數據之后,又覆蓋了使用BigQuery 進行實時分析的相關內容。之后還包括了MapReduce 流水線、Pig 和Cascading、使用Mahout 進行機器學習等高級課題。在書的最后,讀者會看到將Python 和R 整合到大數據工具鏈中的實際案例。本書大部分章節都包含了很多例子以幫助讀者學習和使用相關的大數據工具。如果你想要一本對大數據分析有一個全面了解的書籍,本書絕對是不二之選。
——Paul Dix,叢書編輯


前言
注意到了嗎?移動技術和社會化媒體產生的數據已經超過了人類能夠理解的范圍,大規模數據分析突然變得魅力四射。
分布式和云計算領域正在快速發展以分析和處理這些數據。技術變革那令人難以置信的速度已經徹底顛覆了人們應對數據挑戰的舊有觀念,強迫他們跟上時代的步伐去評估一系列技術,而這些技術有時甚至是互相有沖突的。
很久以來,關系型數據庫一直是商業智能應用的推進器,如今一些激進的開源NoSQL 新貴也加入了進來。二者的結合構成了一種全新的混合數據庫解決方案。基于Web 的計算所存在的優點驅使著大規模數據存儲從定制數據中心轉向可伸縮的“基礎設施即服務”上來。另一方面,基于開源的Hadoop 生態系統的項目使得普通開發者也能夠接觸到數據處理技術,這在以前只有一些做云計算的大公司,如Amazon 和Google 才能做到。
這些技術創新的結果通常被稱為大數據(Big Data)。關于這個詞匯的含義有很多爭論。大數據是一個新產生的趨勢,抑或只是老調重彈?大數據是如其字面意思那樣意味著很多的數據,還是指使用新的方式去挖掘數據價值的過程呢?科學歷史學家George Dyson 總結得很好:“當扔掉數據的代價大于所需機器代價時,大數據才有了存在的價值。”換句話說,當數據本身的價值超過了收集和處理這些數據所需的計算能力時,就有了大數據。
盡管一些支持大數據運動的公司和開源項目的令人驚奇的成功的確是事實,但同時很多人也已經發現,去了解大量新的數據解決方案和服務提供商非常具有挑戰性。而我發現設計解決方案去面對數據挑戰的過程往往可以歸納為一系列共同的用例,這些用例在這些解決方案中一再出現。
尋找高效的數據解決方案就意味著權衡。一些技術是為某類特殊的數據用例專門優化的,因此對于其他類型的數據來說并不是最好的選擇。一些數據庫軟件為了達到更高的分析速度而犧牲了靈活性,而另一些數據庫軟件可能為了更高的性能會犧牲一致性。本書會通過介紹實際用例和真實的成功案例幫助你學習如何去做選擇。
本書的適用范圍
在這個世界上沒有使用無限的金錢和資源解決不了的問題。不管怎樣,擁有大量資源的組織總是可以建造他們自己的系統去收集和分析任何規模的數據。本書并不是寫給這些擁有無限的時間、一大群努力的工程師和無窮預算的人們的。
本書寫給除此以外的其他人。這些人在尋找數據解決方案,但同時擁有的資源有限。大數據時代的一個主題是任何人都能夠獲取到合適的工具,而這些工具在幾年前還只有少數幾個大公司擁有。然而另一個擺在面前的事實是,很多工具非常新穎,并在快速演變,并不總是能夠無縫地互相銜接。本書的目標就是向讀者演示如何高效地將這些部件組裝在一起建造成一個個完整的系統。我們會討論解決數據問題的策略,如何使它們變得經濟、可行,當然還必須具有實用性。
開源軟件已經在無數的方面降低了人們獲取技術的難度,在大數據領域也是如此。但是,本書中涉及的技術和解決方案并不全部是開源的,有時候涉及商業公司提供的計算資源服務。
盡管如此,很多基于云的服務是使用開源工具建造的,事實上,若沒有這些開源工具,很多云服務根本就不會存在。因為規模經濟效應,公用計算平臺越來越多,用戶可以按需付費購買超級計算資源,就像人們購買自來水和電一樣。
我們會討論在保證系統可伸縮性的同時盡量降低開銷的策略。
為什么現在寫這本書
有一件事仍然讓我感到非常神奇,那就是如果不考慮經濟發展程度不一和語言障礙,寫一個能夠被整個星球的人使用的軟件并非不可能。像Facebook、Google搜索、Yahoo!郵箱和中國的QQ空間這樣的Web應用擁有幾億甚至幾十億的活躍用戶并非不可能。Web和相關開發工具的規模僅僅是大數據領域發展速度如此令人矚目的原因之一。讓我們來看看對此也有貢獻的其他趨勢吧。
開源大數據的成熟
2004年,Google發布了一篇著名的論文,文中詳細介紹了一個叫作MapReduce的分布式計算框架。MapReduce框架是Google用以將海量數據處理問題分割成多個更小問題的關鍵技術。不久之后,Google發布了另一篇論文,介紹了Google內部使用的分布式數據庫技術:BigTable。
從此,很多開源技術出現了,它們要么是這些Google論文中技術的實現,要么受到了其啟發。同時,由于關系型數據庫在分布式系統中使用所暴露出來的先天不足,新的數據庫范式越來越為人們所接受。某些范式徹底避開了關系型數據庫的核心屬性,拋棄了標準化的模式、確保的一致性,甚至SQL本身。
Web應用的崛起
隨著喜歡使用Web的人越來越多,數據產生的速度也越來越快。Web用戶的增加也帶來了Web應用的增加。
基于Web的軟件通常基于應用程序接口(API)構建。應用程序接口能夠將網絡中獨立的服務連接起來。例如,很多應用允許用戶使用其Twitter賬戶信息來做認證,或者通過Google地圖來可視化地分享自己的地理位置。每一個接口都有可能會提供某種類型的日志信息用于做數據驅動的決策。
另一個對現在的“數據洪流”有所貢獻的是持續增長的用戶產生內容和社會化網絡的普及。互聯網使得人們能夠以極小的代價發布內容。盡管會有大量的噪聲數據,但是從營銷和廣告方面看,懂得如何收集和分析雪崩式的社會化網絡數據仍然是非常有用的。
根據從這些Web服務中收集的信息來輔助進行商業決策是可行的。例如,想象一下如何根據地理信息洞察銷售規律:是否購買了某種產品的獨立用戶有30%來自于法國并且在Facebook上分享了他們的購物信息?像這樣的數據很可能會幫助你決
定動用資源瞄準社會化網絡上的法國客戶。
移動設備
可伸縮的數據技術比過去任何時候都熱門的另一個原因是,全球移動通信設備數量的爆炸。與其說這種趨勢是由于個人對功能手機和智能手機的使用造成的,不如把這種趨勢看作是以用戶身份為中心而與設備無關的。假如你同時在使用一臺計算機和一部智能手機,那么或許你就能夠通過其中任何一個設備來存取自己的個人數據。而這份數據或許是存儲在某個基礎設施即服務的提供商的數據中心中。類似地,我的智能電視能夠在空閑的時候把我關注的Twitter用戶的推文作為屏幕保護顯示出來。這些都是普適計算——基于你的身份從聯網的任何設備存取資源的例子。
隨著移動設備使用的加速增長,消費性移動設備越來越多地被用于商業目的。我們正處于普適計算的早期階段,人們使用的設備僅僅是作為通過網絡存取個人數據的工具。業界和政府正開始認識到使用100%基于云的商業生產力軟件的關鍵優點,即能夠改進雇員的機動性和提高工作效率。
總之,每天有數百萬的用戶開始通過持續增長的設備使用基于網絡的應用程序。只要能夠收集、處理和分析這些數據,就能夠從中發現可用于進行商業決策的巨大價值。
物聯網
未來,任何使用電的設備都可能會連接到互聯網,因此會有很多數據在用戶、設備和服務器之間來回傳輸。這通常被叫作物聯網(Internet of Things)。如果你認為現在的數十億互聯網用戶產生的數據很多的話,想想等到我們所有的汽車、手表、燈泡和面包機都上網了之后會怎么樣吧。
盡管還不清楚能連接Wi-Fi的面包機有沒有市場,但是越來越多的商業公司和個人愛好者開始使用廉價硬件進行物聯網方面的探索。我們可以想象一下這種聯網設備:用戶能夠完全通過智能機或平板電腦來操控。這種技術已經出現在了電視機上,應該很快就能取代微波爐上那些令人無法容忍的控制面板了。
就像前面描述的移動應用和網絡應用趨勢,物聯網對個人隱私和政策的影響需要進行詳細的評估:誰可以獲知你在哪里如何使用你新買的支持Wi-Fi的電動牙刷?另一方面,從這些設備中收集的信息也可以使市場更加高效、自動檢測設備中的潛在故障,或者向用戶發出警告信息,這些警告信息可能會節省他們的時間和金錢。
通向普適計算之路
前面提到的信息太多,可能反而轉移了大家的注意力,但是有一點是非常重要的:隨著互聯網背后的分布式計算技術使得人與人之間的交流越來越容易,大數據技術趨勢也讓尋找問題答案的過程從過去的不可能變得可能。
更重要的是,用戶體驗的進步意味著我們正在進入這樣一個世界——探究我們產生的令人無法想象的海量數據的技術正在變得越來越透明、經濟和唾手可得。
本書組織結構
處理海量的數據需要使用一系列專業技術,而每種技術本身都有取舍和挑戰。本書分成幾個部分,分別描述在一些常見用例下的數據挑戰和成功的解決方案。第1部分“大數據時代指引”包含了第1章:“數據成功四原則”,本章描述了為什么大數據如此重要,以及為什么新技術的前景不僅意味著機遇也意味著挑戰。本章介紹了貫穿全書的共同主題,如構建可伸縮的應用;構建解決數據孤島問題的協同工具;在考慮使用什么技術之前先考慮應用場景;除非絕對必要,否則避免建造基礎設施。
第2部分“收集和共享海量數據”描述了關于收集和共享大規模數據的應用場景。第2章“托管和共享TB級原始數據”描述了如何應對托管和共享大量文件中存在的看起來很簡單的挑戰。選擇合適的數據格式是非常重要的,本章覆蓋了共享數據時必須要考慮的問題,以及經濟地托管大量數據時所需的基礎設施。本章通過討論傳輸數據時使用的序列化格式給出了相應的結論。
第3章“構建基于NoSQL的Web應用采集眾包數據”介紹了可伸縮數據庫技術領域。本章討論了關系型數據庫和非關系型數據庫的歷史,以及如何在二者之間進行選擇。我們還會介紹流行的Redis數據庫,以及將Redis實例在多臺機器上進行分片的策略。
可伸縮數據分析需要多種技術知識和應用經驗,這常常導致數據被分割為一個個互不兼容的數據孤島。第4章“解決數據孤島問題的策略”詳細分析了數據孤島存在的原因和解決相關問題的策略。本章還討論了為何數據孤島也有利好的一面。
收集、存儲和共享數據之后,我們會想要探索數據。第3部分“數據探究”包括了在探索大數據集的時候涉及的用例和技術。在大規模數據上執行查詢通常需要分布式解決方案。第5章“使用Hadoop、Hive和Shark探索大規模數據集”介紹了流行的用于在持續增長的數據集上執行查詢的可伸縮工具。本章重點關注Apache Hive,它能夠將類SQL查詢語句翻譯為在Hadoop上運行的MapReduce作業。
有時數據查詢是迭代式的。分析型數據庫是一種為查詢數據集并迅速返回結果而專門進行了優化的軟件。第6章“使用Google BigQuery構建數據信息中心”描述了分析型數據庫應用案例和如何將它們作為Hadoop這樣的批處理工具的補充。本章介紹了Google BigQuery—— 一種完全托管的使用類SQL語法的分析型數據庫。本章還會演示如何將BigQuery的API作為基于Web技術的數據信息中心背后的引擎。
數據可視化是一個歷史悠久而豐富多彩的研究領域。第7章“探索大數據的可視化策略”介紹了在大數據集上使用可視化工具的益處和潛在陷阱。本章介紹了當數據量增長得很大時的可視化策略,還介紹了數據可視化過程中需要用到的數據分析工具。
使用可伸縮數據技術的時候,遇到的一個共同問題是不同的軟件工具是為了不同的用例做優化的。鑒于此,一個共同的用例是將大規模數據從一種格式或形態轉換成另一種格式或形態。第4部分“構建數據流水線”介紹了實現用于改進數據轉換的流水線和工作流的方法。第8章“整合:MapReduce數據流水線”介紹了使用Hadoop MapReduce框架處理大規模數據的思想。本章描述了使用Hadoop Streaming API和像Python這樣的腳本語言創建實用且易行的MapReduce應用。
當數據處理任務變得非常復雜之后,我們需要使用工作流工具來進一步使數據轉換任務變得更加自動化。第9章“使用Pig和Cascading構建數據轉換工作流”介紹了表達復雜MapReduce任務的兩種技術。Apache Pig是一種工作流描述語言,它能夠使定義復雜的多步的MapReduce作業變得容易。本章還介紹了Cascading——一個優雅的可用于使用Hadoop構建復雜數據工作流應用的Java庫。
當數據量增長到非常大之后,我們需要使用計算機來尋找對人類有用的信息。如果能夠使用機器基于現有的數據模型對收到的信息進行分類、推薦和預測,那將是非常有用的。第5部分“基于大規模數據集的機器學習”包括第10章“使用Mahout構建數據分類系統”,本章介紹了機器學習領域,還會使用流行的Apache Mahout機器學習庫來演示具有普遍性的機器學習任務——文本分類。
數據統計的目標之一是解釋數據的質量和意義。第6部分“基于大規模數據集的統計分析”介紹了統計分析大規模數據的常用工具和用例。R語言是最流行的一種用于表達統計分析任務的開源語言。第11章“使用R語言處理大數據集”講述了一種正在變得更加普遍的用例:使用R語言高效地處理大數據集。本章介紹了當數據量增長到比系統可用內存更大的時候可以使用的R語言庫,還介紹了如何將R作為Hadoop集群的界面使用。
雖然R語言非常流行,但是使用通用語言來解決數據分析挑戰仍然有其優點。第12章“使用Python和Pandas構建分析工作流”介紹了越來越流行的Python分析工具棧。本章包括了用于處理時間序列數據的Pandas庫的使用,以及iPython筆記本—— 一種支持共享和協同的增強腳本環境。
并不是所有的數據挑戰都是純技術相關的。第7部分“展望未來”介紹了在面對數據分析創新時處理組織不確定性所使用的實用策略。第13章“何時選擇自制、購買或外包”介紹了在面對數據分析這個高度創新的領域時制定采購決策的策略。本章還談到了使用開源技術構建數據解決方案的利弊。
最后,第14章“未來:數據科技的幾個趨勢”介紹了可伸縮數據技術(包括推動創新的激勵因素)的當前趨勢。本章也將深入討論所謂數據科學家不斷演變的作用和各種數據技術的融合。
內容簡介:

這是一個數據爆發的時代,更是一個數據技術爆發的時代,各行各業都在因此進行深刻的變革。如何從眾多的數據技術中選擇正確的工具、如何使用這些工具從海量數據中挖掘出有價值的東西,無疑是非常具有挑戰性的問題。
本書作者結合自己在Google 大數據平臺工作的豐富經驗,闡述了數據技術的方方面面。從數據收集、共享到數據存儲,從分布式數據平臺、分析型數據庫到數據可視化,從數據工作流構建到大規模數據分析,作者不僅進行了全面而深入的介紹,更覆蓋了目前流行的各種數據技術與工具,同時對技術選型提出了指導性的建議。最后,作者對數據挑戰的非技術因素進行了深刻的分析,并對數據技術的發展趨勢進行了展望,引人深思。

目錄:

第1 部分 大數據時代指引 1
第1 章 數據成功四原則 3
1.1 當數據成為一件“大”事 3
1.2 數據和單臺服務器 4
1.3 大數據的權衡 5
1.3.1 構建可(無限)擴展的解決方案 6
1.3.2 構建可(在互聯網上)共享數據的系統 7
1.3.3 構建解決方案,而非基礎設施 8
1.3.4 關注從數據中解放價值 8
1.4 大數據流水線剖析 9
1.5 終極數據庫 10
1.6 總結 10
第2 部分 收集和共享海量數據 13
第2 章 托管和共享TB 級原始數據 15
2.1 文件之殤 16
2.1.1 共享大量文件的挑戰 16
2.2 存儲:基礎設施即服務 17
2.2.1 網絡很慢 18
2.3 選擇合適的數據格式 18
2.3.1 XML :數據,描述你自己 20
2.3.2 JSON :程序員的選擇 21
2.4 字符編碼 22
2.4.1 文件轉換 24
XXII 目錄
2.5 移動中的數據:數據序列化格式 25
2.5.1 Apache Thrift 和Protocol Buffers 26
2.6 總結 27
第3 章 構建基于NoSQL 的Web 應用采集眾包數據 29
3.1 關系型數據庫:命令及控制 30
3.1.1 關系數據庫的ACID 測試 32
3.2 當關系型數據庫遇上互聯網 33
3.2.1 CAP 原理與BASE 34
3.3 非關系型數據庫的模式 36
3.3.1 鍵- 值數據庫 36
3.3.2 文檔存儲 38
3.4 為寫入性能優化:Redis 40
3.5 在多個Redis 實例上分片 43
3.5.1 使用Twemproxy 自動分區 44
3.5.2 Redis 的替代選項 46
3.6 NewSQL :Codd 歸來 46
3.7 總結 47
第4 章 解決數據孤島問題的策略 49
4.1 堆滿術語的倉庫 49
4.1.1 實踐中的問題 51
4.1.2 數據合規與安全規劃 52
4.1.3 走進數據倉庫 53
4.1.4 數據倉庫的口訣:抽取、轉換和加載 54
4.2 Hadoop :數據倉庫中的大象 55
4.3 數據孤島也可能是個優點 55
4.3.1 專注于數據問題,而不是技術 56
4.3.2 鼓勵員工提出他們自己的問題 57
4.3.3 投資溝通數據孤島的技術 57
4.4 融合:數據孤島的終結 58
目錄XXIII
4.4.1 Luhn 的商業智能系統是否能成為現實 59
4.5 總結 59
第3 部分 數據探究 61
第5 章 使用Hadoop、Hive 和Shark 探索大規模數據集 63
5.1 什么是數據倉庫 64
5.2 Apache Hive :在Hadoop 上進行交互式查詢 66
5.2.1 Hive 用例 66
5.2.2 Hive 實戰 67
5.2.3 在Hive 中使用其他數據源 71
5.3 Shark :以內存的速度進行查詢 72
5.4 云中的數據倉庫 73
5.5 總結 74
第6 章 使用Google BigQuery 構建數據信息中心 77
6.1 分析型數據庫 78
6.2 Dremel :均貧富 79
6.2.1 Dremel 與MapReduce 的不同之處 80
6.3 BigQuery :數據分析即服務 81
6.3.1 BigQuery 的查詢語言 82
6.4 建造自己的大數據信息面板 83
6.4.1 授權訪問BigQuery API 84
6.4.2 運行查詢并獲取結果 87
6.4.3 緩存查詢結果 88
6.4.4 添加可視化圖形 89
6.5 分析型查詢引擎的未來 91
6.6 總結 91
第7 章 探索大數據的可視化策略 93
7.1 警世良言:將數據翻譯成故事 94
7.2 人類尺度 VS 機器尺度 97
XXIV 目錄
7.2.1 交互性 97
7.3 開發交互式數據應用 98
7.3.1 使用R 和ggplot2 實現交互式可視化 98
7.3.2 matplotlib: Python 的2D 圖形庫 100
7.3.3 D3.js :用于Web 的交互式可視化庫 100
7.4 總結 104
第4 部分 構建數據流水線 107
第8 章 整合:MapReduce 數據流水線 109
8.1 數據流水線是什么 109
8.1.1 正確的工具 110
8.2 使用Hadoop Streaming 搭建數據流水線 111
8.2.1 MapReduce 和數據轉換 111
8.2.2 最簡單的流水線:stdin 到stdout 113
8.3 單步MapReduce 變換 115
8.3.1 從原始NVSS 數據中抽取相關信息:map 階段 116
8.3.2 合計每月出生數:reducer 階段 117
8.3.3 在本地測試MapReduce 流水線 118
8.3.4 在Hadoop 集群上運行我們的MapReduce 作業 119
8.4 降低復雜性:Hadoop 上Python 的MapReduce 框架 120
8.4.1 使用mrjob 重寫Hadoop Streaming 示例 121
8.4.2 建造一個多步流水線 122
8.4.3 在Elastic MapReduce 上運行mrjob 腳本 124
8.4.4 其他基于Python 的MapReduce 框架 125
8.5 總結 125
第9 章 使用Pig 和Cascading 構建數據轉換工作流 127
9.1 大規模數據工作流實戰 128
9.2 多步MapReduce 轉換真復雜 128
9.2.1 Apache Pig :拒絕復雜 129
目錄XXV
9.2.2 使用交互式Grunt shell 運行Pig 130
9.2.3 過濾和優化數據工作流 132
9.2.4 以批處理模式運行Pig 腳本 132
9.3 Cascading :構建健壯的數據工作流應用 133
9.3.1 以source 和sink 的方式思考 134
9.3.2 構建Cascading 應用 135
9.3.3 創建一個Cascade :一個簡單的JOIN 例子 136
9.3.4 在Hadoop 集群上部署Cascading 應用 138
9.4 何時選擇Pig 或Cascading 139
9.5 總結 140
第5 部分 基于大規模數據集的機器學習 141
第10 章 使用Mahout 構建數據分類系統 143
10.1 機器能否預測未來 144
10.2 機器學習的挑戰 144
10.2.1 貝葉斯分類 146
10.2.2 聚類 146
10.2.3 推薦引擎 148
10.3 Apache Mahout :可伸縮的機器學習工具 148
10.3.1 使用Mahout 進行文本分類 149
10.4 MLbase :分布式機器學習框架 152
10.5 總結 152
第6 部分 基于大規模數據集的統計分析 155
第11 章 使用R 語言處理大數據集 157
11.1 統計學為什么性感 158
11.1.1 R 處理大型數據集的局限性 159
11.1.2 R 的數據幀和矩陣 161
XXVI 目錄
11.2 處理大數據集的策略 162
11.2.1 大矩陣處理:bigmemory 和biganalytics 162
11.2.2 ff: 使用大于內存的數據幀 164
11.2.3 biglm :大規模數據集的線性回歸 165
11.2.4 RHadoop: 使用R 訪問Apache Hadoop 166
11.3 總結 168
第12 章 使用Python 和Pandas 構建分析工作流 171
12.1 數據樂園中自在的蟒蛇——Python 172
12.1.1 為統計性計算選擇一門語言 172
12.1.2 擴展現有代碼 173
12.1.3 工具和測試 174
12.2 用于數據處理的Python 庫 174
12.2.1 NumPy 175
12.2.2 SciPy :Python 的科學計算庫 176
12.2.3 數據分析庫Pandas 178
12.3 構建更復雜的工作流 182
12.3.1 處理損壞或丟失的記錄 184
12.4 iPython :科學計算工具鏈的最后一環 185
12.4.1 在集群上并行執行iPython 186
12.5 總結 190
第7 部分 展望未來 191
第13 章 何時選擇自制、購買或外包 193
13.1 功能重合的解決方案 193
13.2 理解你的數據問題 195
13.3 自制還是購買問題的參考手冊 197
13.3.1 你已經對哪些技術有所投入 197
13.3.2 從小處著手 198
13.3.3 規劃時考慮可擴展性 198
目錄XXVII
13.4 私人數據中心 199
13.5 了解開源的成本 201
13.6 一切皆服務 202
13.7 總結 202
第14 章 未來:數據科技的幾個趨勢 205
14.1 Hadoop :攪局者與被攪局者 206
14.2 一切皆在云中 208
14.3 數據科學家的興衰 209
14.4 融合:終極數據庫 212
14.5 文化融合 213
14.6 總結 214
序: