敏捷資料科學:用Hadoop建立資料分析應用
敏捷資料科學:用Hadoop建立資料分析應用(資料分析最佳實踐入門 敏捷大資料首作 分步驟|全流程演示思路、工具與方法)
【美】Russell Jurney(拉塞爾·朱爾尼) 著
馮文中 朱洪波 譯
ISBN 978-7-121-23619-8
2014年7月出版
定價:49.00元
184頁
16開
編輯推薦
對大資料的挖掘需要投入大量的人力和時間。怎麼才能確保構建的是一個正確的模型?透過這本實踐指南,你可以學到一套靈活的工具和方法論,在Hadoop上構建資料分析應用。
使用諸如Python、Apache Pig和D3.js等輕量級工具,你的團隊能夠建立一個敏捷環境來探索資料。我們會開發一個樣例應用程式,挖掘你自己的電子郵箱資料。你也會學習到一種迭代式的開發方法,使得你能根據資料中的資訊快速切換,進行不同型別的資料分析。書中所有的程式碼樣例都可以在 Heroku 中以 App 形式執行。
■ 用敏捷式大資料開發方法論建立分析應用
■ 用資料-價值棧,在一系列敏捷週期中建立價值
■ 用多種資料結構從單個資料集中提取特徵,獲取洞察
■ 用圖表視覺化資料,透過互動性報表從不同角度展示資料
■ 用歷史資料進行預測,將預測轉化為行動
■ 在每個迭代週期過後獲取使用者反饋,確保專案方向正確
內容提要
《敏捷資料科學:用Hadoop建立資料分析應用》面向大資料探勘,以敏捷視角呈現高效構建資料模型的全程實踐和思路。在一組以一個真實電子郵箱資料探勘為例的資料-價值金字塔進階模式中,你將學到:一整套實用工具及其方法論,可快速實現在Hadoop 上構建資料分析應用;用Python、Apache Pig 及D3.js等輕量級工具建立用於探索資料的敏捷環境;一種可根據資料中資訊快速切換,進行不同型別資料分析的迭代式開發方法。
《敏捷資料科學:用Hadoop建立資料分析應用》適合所有與資料工作相關的從業者,同時也適合有志成為資料科學工作者的廣大讀者作為入門讀物。
目錄
第1 部分 起步 ............................................................... 1
第1 章 理論 .................................................................. 3
敏捷大資料 ............................................................................................................3
Big Words 定義 ......................................................................................................4
敏捷大資料團隊 .....................................................................................................5
認識機遇和問題 ..............................................................................................6
敏捷大資料流程 ................................................................................................... 11
程式碼檢查和結對程式設計 ...........................................................................................12
敏捷的場所:開發的效率 ....................................................................................13
協作空間 .......................................................................................................14
私人空間 .......................................................................................................14
個人空間 .......................................................................................................14
用大幅列印件明確表達想法 ................................................................................15
第2 章 資料 ............................................................... 17
電子郵件 ..............................................................................................................17
處理原始資料 ......................................................................................................18
原始的電子郵件 ............................................................................................18
結構化與半結構化資料 .................................................................................18
SQL ......................................................................................................................20
NoSQL .................................................................................................................24
序列化 ...........................................................................................................24
從演變的模式中抽取和展示特徵 ..................................................................25
資料流水線 ...................................................................................................26
資料透視 ..............................................................................................................27
社交網路 .......................................................................................................28
時間序列 .......................................................................................................30
自然語言 .......................................................................................................31
機率 ...............................................................................................................33
小結 .....................................................................................................................35
第3 章 敏捷開發工具 ................................................... 37
可擴充套件性= 簡潔...................................................................................................37
敏捷大資料處理 ...................................................................................................38
設定執行Python 的虛擬環境 ...............................................................................39
使用Avro 對事件進行序列化 ..............................................................................40
在Python 中使用Avro ..................................................................................40
收集資料 ..............................................................................................................42
使用Pig 處理資料................................................................................................44
安裝Pig .........................................................................................................45
使用MongoDB 釋出資料 ....................................................................................49
安裝MongoDB ..............................................................................................49
安裝MongoDB 的Java 驅動程式 .................................................................50
安裝mongo-hadoop .......................................................................................50
用Pig 向MongoDB 推送資料 .......................................................................50
使用ElasticSearch 搜尋資料 ................................................................................52
安裝 ...............................................................................................................52
使用Wonderdog 整合ElasticSearch 和Pig ...................................................53
對工作流程的反思 ...............................................................................................55
輕量級的Web 應用 ..............................................................................................56
Python 和 Flask .............................................................................................56
展示資料 ..............................................................................................................58
安裝Bootstrap ...............................................................................................58
啟用Bootstrap ...............................................................................................59
使用d3.js 和nvd3.js 視覺化資料 ..................................................................63
小結 .....................................................................................................................64
第4 章 在雲端 ............................................................. 65
引言 .....................................................................................................................65
GitHub .................................................................................................................67
dotCloud ...............................................................................................................67
dotCloud Echo 服務 .......................................................................................68
Python 工作者服務 ........................................................................................71
Amazon Web Services ..........................................................................................71
Simple Storage Service ..................................................................................71
Elastic MapReduce ........................................................................................72
MongoDB 即服務 ..........................................................................................79
輔助工具(Instrumentation) ................................................................................81
Google Analytics ...........................................................................................81
Mortar Data ...................................................................................................82
第2 部分 登上金字塔 ................................................... 85
第5 章 收集和展示資料 ............................................... 89
整合軟體棧 ..........................................................................................................90
收集並序列化收件箱 ...........................................................................................90
處理和釋出郵件資料 ...........................................................................................91
在瀏覽器中顯示郵件 ...........................................................................................93
用Flask 和pymongo 處理郵件資料 ..............................................................94
使用Jinja2 渲染HTML5 頁面 ......................................................................94
敏捷檢查點 ..........................................................................................................98
生成電子郵件清單 ...............................................................................................99
用MongoDB 顯示郵件 .................................................................................99
對資料展示的分析 ...................................................................................... 101
搜尋郵件 ............................................................................................................ 106
使用Pig,ElasticSearch 和Wonderdog 構建索引 ....................................... 106
在網頁中搜尋郵件資料 ............................................................................... 107
結論 ................................................................................................................... 108
第6 章 使用圖表視覺化資料 ....................................... 111
優秀的圖表 ........................................................................................................ 112
抽取實體:郵件地址 ......................................................................................... 112
抽取郵件 ..................................................................................................... 112
對時間進行視覺化 ............................................................................................. 116
結論 ................................................................................................................... 122
第7 章 利用報表探索資料 .......................................... 123
為資料新增聯絡 ................................................................................................. 126
用TF-IDF 從郵件中提取關鍵字 ........................................................................ 133
小結 ................................................................................................................... 138
第8 章 預測 .............................................................. 141
預測電子郵件的回覆率 ...................................................................................... 142
個性化 ................................................................................................................ 147
小結 ................................................................................................................... 148
第9 章 驅動行動 ........................................................ 149
好郵件的屬性 .................................................................................................... 150
使用樸素貝葉斯方法進行更好的預測 ............................................................... 150
P(Reply | From ∩ To) ........................................................................................ 150
P(Reply | Token) ................................................................................................. 151
實時預測 ............................................................................................................ 153
記錄事件日誌 .................................................................................................... 157
小結 ................................................................................................................... 157
索引 ........................................................................... 159
作者簡介
作者介紹:Russsel Jurney 在美國和墨西哥的賭場開始他的資料分析生涯。他開發了一個 Web 應用來分析老虎機的效能。在經歷了創業、互動式媒體和新聞業以後,他到了矽谷,在 Ning 和LinkedIn 開始構建可擴充套件的資料分析應用。
譯者介紹:朱洪波 阿里巴巴資料探勘專家,機器學習團隊負責人,司職於解決商業客戶對資料的深層需求。紙質書愛好者,相信理性與邏輯的力量。
媒體評論
“在目前“資料科學”被大肆宣傳的環境下,讀到一本構建資料產品的實踐指南讓我耳目一新。Russell向我們逐步介紹了他利用資料來解決問題的敏捷哲學。”
—— Mat Kelcey matpalm.com博主
前言
我寫這本書是為了幫助大家避免重複我犯過的錯誤,進而防止失敗專案的產生。在這本書裡面,描述、反映了我在兩個不同的Hadoop 服務上構建資料分析應用的經驗。
《敏捷資料科學》這本書有三個目標:提供一個用Hadoop 構建資料分析應用的操作指南;幫助團隊在大資料專案中以敏捷的形式進行更好的協作;提出一個進行敏捷式大資料分析的先進結構。
讀者是誰
《敏捷資料科學》是一門幫助大資料的入門者以及萌芽中的資料科學家,成為資料科學與資料分析團隊中更有生產力的成員的課程。它的目標是幫助工程師,分析師和資料科學家以敏捷的形式在Hadoop 上處理大資料。它介紹了一種非常適合大資料的敏捷開發方式。
這本書同樣針對需要處理資料並開發軟體的程式設計師。設計師和專案經理可能會特別喜歡本書第一、二、五章,這些章節主要介紹一些敏捷的流程,而沒有把關注點放在具體的程式碼上。
本書假設讀者在一個*nix 環境中工作,對於Windows 使用者,我們沒有提供相應的例子,但他們可以使用Cygwin。一個由使用者貢獻而且包含所有前置依賴的Linux 映象,可以從這()獲取。讀者可以透過這個工具在VirtualBox 裡面快速啟動一臺Linux 機器。
本書如何組織
這本書包含兩部分。第一部分介紹資料以及將在本書第二部分用到的工具集。我特意將第一部分寫得比較簡短,只用了較少的篇幅來介紹這些工具。假如感覺第一部分內容太過簡略,也不要擔心,本書第二部分將會深入地探索這些工具的用法。下面的章節組成了本書的第一部分:
第一章 理論
介紹敏捷大資料的工作方法。
第二章 資料
介紹本書中將要使用的資料,以及簡單的預測方法。
第三章 敏捷開發工具
介紹工具集,並幫助讀者將它們在機器上安裝好。
第四章 在雲端
帶領讀者將第三章中介紹的工具集擴充套件到雲端,以支援PB 級的資料規模。
本書第二部分是一個利用敏捷大資料的方式來構建資料分析應用的教程。這是一個筆記本形式的指南。在資料- 價值金字塔的每一次上升都遵循著敏捷的原則。我會闡述如何在小的敏捷開發週期裡面逐步創造價值。第二部分包含如下的章節:
第五章 收集和展示資料
幫助讀者下載電子郵件收件箱資料並將郵件連線到一個web 程式上。
第六章 使用圖表視覺化資料
讓讀者逐步在web 程式中建立簡單的圖表來操縱資料。
第七章 利用報表探索資料
展示如何從資料裡面提取實體,並將它們連線在一起,建立可互動的資料包告。
第八章 預測
幫助讀者利用之前的成果預測郵件收到回覆的機率。
第九章 驅動行動
介紹如何將已有的預測功能擴充套件成一個完整的實時分類器,來幫助使用者寫出會被回覆的郵件。
本書所使用的約定
以下是本書所使用的排版約定:
斜體(Italic)
表示新的條目、網址、電子郵件地址、檔名和副檔名。
等寬字型(Constant width)
在程式程式碼中使用,同時也會出現在段落內的那些引用程式元素如函式名、資料庫、
資料型別、環境變數、宣告和關鍵字等,還會在API、元件及模組名裡遇到。
等寬粗字型(Constant with bold)
表示命令或由使用者輸入的文字。
等寬斜體字(Constant with italic)
表示應該由使用者提供的值來代替上下文決定的值的那些文字。
這個圖示標誌是提示、建議或一般說明。
這個圖示表示警告或告示。
使用程式碼例項
補充材料( 程式碼示例, 練習等) 請登入 自行下載。
本書就是要幫讀者完成工作的。通常,如果本書包含了程式碼示例,你可以在你的程式和文件中使用本書中的程式碼。除非你複製了大段的程式碼,否則你無須聯絡我們來取得許可。舉個例子,在編寫程式時使用了本書中的數塊程式碼是不需要經過許可的。出售或分發來自O’Reilly 圖書的示例CD-ROM 是必須經過許可的。引用本書及本書中的示例程式碼來回答問題是不需要經過許可的。將大量的示例程式碼整合到你的產品文件中必須經過許可。
我們很感謝但不要求註明出處。出處的格式一般包括標題、作者、出版社和ISBN,例如“由Russell Jurney 寫的Agile Data Science (O’Reilly). Copyright 2014 Data SyndromeLLC, 978-1-449-32626-5。”
如果你覺得沒有在正常範圍內使用程式碼例子,並且不知是否在上面所說的許可範圍內,請隨時聯絡我們:
permissions@oreilly.com
Safari? Books Online
Safari Books Online()是一個釋出來自全球技術和商業領域的頂尖作者寫的書和影片等優質內容的按需數字化圖書館。技術專業人士、軟體開發者、網站設計師及商業和創意專業都用Safari Books Online 作為他們的主要研究、解決問題、學習和認證培訓資源。
Safari Books Online 提供了一系列產品及針對組織、政府和個人不同的定價方案,訂閱者可以訪問到成千上萬的圖書、培訓影片及出版前的手稿,這些內容都可以從出版社,如O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、MicrosoftPress、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology 等資料庫中搜尋而得到,想了解更多關於Safari Books Online 的資訊,請線上訪問我們。聯絡我們
對於本書的評論或問題請聯絡出版商:
美國:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中國:
北京市西城區西直門南大街2 號成銘大廈C 座807 室(100035)
奧萊利技術諮詢(北京)有限公司
我們為本書製作了一個Web 頁面,頁面中包含了簡介、樣章,以及其他資訊。可以從這裡訪問這個頁面:
。
如果要留言或者提交關於本書的技術問題的反饋,請發郵件至:
bookquestions@oreilly.com。
本書的更多資訊、資源、參考文獻和新聞,請登入出版社官網:。
Facebook:
Twitter:
YouTube:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-1242596/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python資料科學(三) python與資料科學應用(Ⅲ)Python資料科學
- Python資料科學(二) python與資料科學應用(Ⅱ)Python資料科學
- Python資料科學(一) python與資料科學應用(Ⅰ)Python資料科學
- python應用資料科學的優勢Python資料科學
- 用 Python 入門資料科學Python資料科學
- 資料庫在資料分析中如何應用資料庫
- 大資料下網站資料分析應用大資料網站
- 外部資料在資料分析中的應用
- Hadoop入門和大資料應用Hadoop大資料
- 理工大學大資料應用的三個學科大資料
- 基於Hadoop大資料分析應用場景與實戰Hadoop大資料
- 資料分析與資料探勘 - 04科學計算
- VB6基本資料庫應用(二):建立資料庫資料庫
- Go 應用於資料科學的案例分享:付多少小費Go資料科學
- 科普文:銀行業9大資料科學應用案例解析!行業大資料資料科學
- CIKM 2016:大資料科學的前沿與應用大資料資料科學
- 科學研究與大資料概念的濫用大資料
- 資料科學資料科學
- 靜態脫敏典型應用場景分析——開發測試、資料共享、科學研究
- 大資料分析的應用與弊端大資料
- 經典資料分析應用介紹
- 人的資料科學與機器資料科學資料科學
- Excel高階應用教程:資料處理與資料分析Excel
- 常用構建資料科學應用程式的七個Python庫資料科學Python
- (資料科學學習手札120)Python+Dash快速web應用開發——整合資料庫資料科學PythonWeb資料庫
- 讓科學重回資料科學資料科學
- oracle資料庫資料字典應用Oracle資料庫
- 美國資深資料科學家暢聊:資料分析與北美電商資料科學
- 資料探勘在醫學大資料研究中的應用大資料
- 大資料建模、分析、挖掘技術應用大資料
- HTAP資料庫及應用場景分析資料庫
- 工業大資料應用場景分析大資料
- 遙感大資料智慧分析與應用大資料
- 用createdirectory建立資料夾 (轉)
- 資料科學入門 (一) —— 資料資料科學
- IT公司如何建立一個資料科學部門?資料科學
- 大資料workshop:《雲資料·大計算:海量日誌資料分析與應用》之《資料分析展現:視覺化報表及嵌入應用》篇大資料視覺化
- (資料科學學習手札119)Python+Dash快速web應用開發——多頁面應用資料科學PythonWeb