对大数据的挖掘需要投入大量的人力和时间。怎么才能确保构建的是一个正确的模型?通过这本实践指南,你可以学到一套灵活的工具和方法论,在Hadoop上构建数据分析应用。
使用诸如Python、Apache Pig和D3.js等轻量级工具,你的团队能够创建一个敏捷环境来探索数据。我们会开发一个样例应用程序,挖掘你自己的电子邮箱数据。你也会学习到一种迭代式的开发方法,使得你能根据数据中的信息快速切换,进行不同类型的数据分析。书中所有的代码样例都可以在 Heroku 中以 App 形式运行。
■ 用敏捷式大数据开发方法论创建分析应用
■ 用数据-价值栈,在一系列敏捷周期中创建价值
■ 用多种数据结构从单个数据集中提取特征,获取洞察
■ 用图表可视化数据,通过交互性报表从不同角度展示数据
■ 用历史数据进行预测,将预测转化为行动
■ 在每个迭代周期过后获取用户反馈,确保项目方向正确
海报:
《敏捷数据科学:用Hadoop创建数据分析应用》面向大数据挖掘,以敏捷视角呈现高效构建数据模型的全程实践和思路。在一组以一个真实电子邮箱数据挖掘为例的数据- 价值金字塔进阶模式中,你将学到:一整套实用工具及其方法论,可快速实现在Hadoop 上构建数据分析应用;用Python、Apache Pig D3.js等轻量级工具创建用于探索数据的敏捷环境;一种可根据数据中信息快速切换,进行不同类型数据分析的迭代式开发方法。
前言xi
第1部分起步
第1章理论
敏捷大数据
BigWords定义
敏捷大数据团队
认识机遇和问题
敏捷大数据流程
代码检查和结对编程
敏捷的场所:开发的效率
协作空间
私人空间
个人空间
用大幅打印件明确表达想法
第2章数据
电子邮件
处理原始数据
原始的电子邮件
viii|目录
结构化与半结构化数据
SQL
NoSQL
序列化
从演变的模式中抽取和展示特征
数据流水线
数据透视
社交网络
时间序列
自然语言
概率
小结
第3章敏捷开发工具
可扩展性=简洁
敏捷大数据处理
设置运行Python的虚拟环境
使用Avro对事件进行序列化
在Python中使用Avro
收集数据
使用Pig处理数据
安装Pig
使用MongoDB发布数据
安装MongoDB
安装MongoDB的Java驱动程序
安装mongo-hadoop
用Pig向MongoDB推送数据
使用ElasticSearch搜索数据
安装
使用Wonderdog整合ElasticSearch和Pig
对工作流程的反思
轻量级的Web应用
Python和Flask
目录|ix
展示数据
安装Bootstrap
启用Bootstrap
使用d3js和nvd3js可视化数据
小结
第4章在云端
引言
GitHub
dotCloud
dotCloudEcho服务
Python工作者服务
AmazonWebServices
SimpleStorageService
ElasticMapReduce
MongoDB即服务
辅助工具(Instrumentation)
GoogleAnalytics
MortarData
第2部分登上金字塔
第5章收集和展示数据
整合软件栈
收集并序列化收件箱
处理和发布邮件数据
在浏览器中显示邮件
用Flask和pymongo处理邮件数据
使用Jinja2渲染HTML5页面
敏捷检查点
生成电子邮件清单
用MongoDB显示邮件
对数据展示的分析
x|目录
搜索邮件
使用Pig,ElasticSearch和Wonderdog构建索引
在网页中搜索邮件数据
结论
第6章使用图表可视化数据
优秀的图表
抽取实体:邮件地址
抽取邮件
对时间进行可视化
结论
第7章利用报表探索数据
为数据添加联系
用TF-IDF从邮件中提取关键字
小结
第8章预测
预测电子邮件的回复率
个性化
小结
第9章驱动行动
好邮件的属性
使用朴素贝叶斯方法进行更好的预测
P(Reply|From∩To)
P(Reply|Token)
实时预测
记录事件日志
小结
索引
“在目前“数据科学”被大肆宣传的环境下,读到一本构建数据产品的实践指南让我耳目一新。Russell向我们逐步介绍了他利用数据来解决问题的敏捷哲学。”
—— Mat Kelcey matpalm.com博主