Spark全栈数据分析
Russell Jurney
王道远 译
出版时间:2018年11月
页数:344
数据科学团队在寻求把科研成果转化为有意义的数据科学应用时,不仅仅需要使用合适的工具,还应该使用合适的方法,才能获得成功。有了这本修订过的基于Spark的实战指南,初出茅庐的数据科学家们将学到如何使用敏捷数据科学的开发方法论,使用Python、Apache Spark、Kafka及其他工具构建数据应用。
作者Russell Jurney展示了如何使用Apache Kafka、Apache Spark、MongoDB、ElasticSearch、D3.js、scikit-learn以及Apache Airflow组合成的数据平台,构建、部署、完善分析型应用程序。你会学到一种迭代的方法,让你能够根据数据所示快速改变分析类型,把数据科学工作以网络应用程序的形式发布,对所在机构产生有价值的影响。
● 在一系列敏捷冲刺中根据数据价值金字塔模型从数据中创造价值。
● 从多个数据集中提取特征构建统计模型。
● 通过图表进行数据可视化,通过交互式报表展示数据的各种维度。
● 通过分类和回归,使用历史数据预测未来。
● 把预测结果带入实际行动。
● 在每个冲刺结束后收集用户反馈,让项目始终向正确的方向发展。
  1. 前言
  2. 第I部分 准备工作
  3. 第1章 理论
  4. 导论
  5. 定义
  6. 方法学
  7. 敏捷数据科学宣言
  8. 瀑布模型的问题
  9. 研究与应用开发
  10. 敏捷软件开发的问题
  11. 最终质量:偿还技术债
  12. 瀑布模型的拉力
  13. 数据科学过程
  14. 设置预期
  15. 数据科学团队的角色
  16. 认清机遇与挑战
  17. 适应变化
  18. 过程中的注意事项
  19. 代码审核与结对编程
  20. 敏捷开发的环境:提高生产效率
  21. 用大幅打印实现想法
  22. 第2章 敏捷工具
  23. 可伸缩性=易用性
  24. 敏捷数据科学之数据处理
  25. 搭建本地环境
  26. 配置要求
  27. 配置Vagrant
  28. 下载数据
  29. 搭建EC2环境
  30. 下载数据
  31. 下载并运行代码
  32. 下载代码
  33. 运行代码
  34. Jupyter笔记本
  35. 工具集概览
  36. 敏捷开发工具栈的要求
  37. Python 3
  38. 使用JSON行和Parquet序列化事件
  39. 收集数据
  40. 使用Spark进行数据处理
  41. 使用MongoDB发布数据
  42. 使用Elasticsearch搜索数据
  43. 使用Apache Kafka分发流数据
  44. 使用PySpark Streaming处理流数据
  45. 使用scikit-learn与Spark MLlib进行机器学习
  46. 使用 Apache Airflow(孵化项目)进行调度
  47. 反思我们的工作流程
  48. 轻量级网络应用
  49. 展示数据
  50. 本章小结
  51. 第3章 数据
  52. 飞行航班数据
  53. 航班准点情况数据
  54. OpenFlights数据库
  55. 天气数据
  56. 敏捷数据科学中的数据处理
  57. 结构化数据vs.半结构化数据
  58. SQL vs. NoSQL
  59. SQL
  60. NoSQL与数据流编程
  61. Spark: SQL + NoSQL
  62. NoSQL中的表结构
  63. 数据序列化
  64. 动态结构表的特征提取与呈现
  65. 本章小结
  66. 第II部分 攀登金字塔
  67. 第4章 记录收集与展示
  68. 整体使用
  69. 航班数据收集与序列化
  70. 航班记录处理与发布
  71. 把航班记录发布到MongoDB
  72. 在浏览器中展示航班记录
  73. 使用Flask和pymongo提供航班信息
  74. 使用Jinja2渲染HTML5页面
  75. 敏捷开发检查站
  76. 列出航班记录
  77. 使用MongoDB列出航班记录
  78. 数据分页
  79. 搜索航班数据
  80. 创建索引
  81. 发布航班数据到Elasticsearch
  82. 通过网页搜索航班数据
  83. 本章小结
  84. 第5章 使用图表进行数据可视化
  85. 图表质量:迭代至关重要
  86. 用发布/装饰模型伸缩数据库
  87. 一阶形式
  88. 二阶形式
  89. 三阶形式
  90. 选择一种形式
  91. 探究时令性
  92. 查询并展示航班总数
  93. 提取“金属”(飞机(实体))
  94. 提取机尾编号
  95. 评估飞机记录
  96. 数据完善
  97. 网页表单逆向工程
  98. 收集机尾编号
  99. 自动化表单提交
  100. 从HTML中提取数据
  101. 评价完善后的数据
  102. 本章小结
  103. 第6章 通过报表探索数据
  104. 提取航空公司为实体
  105. 使用PySpark把航空公司定义为飞机的分组
  106. 在MongoDB中查询航空公司数据
  107. 在Flask中构建航空公司页面
  108. 添加回到航空公司页面的链接
  109. 创建一个包括所有航空公司的主页
  110. 整理半结构化数据的本体关系
  111. 改进航空公司页面
  112. 给航空公司代码加上名称
  113. 整合维基百科内容
  114. 把扩充过的航空公司表发布到MongoDB
  115. 在网页上扩充航空公司信息
  116. 调查飞机(实体)
  117. SQL嵌套查询vs.数据流编程
  118. 不使用嵌套查询的数据流编程
  119. Spark SQL中的子查询
  120. 创建飞机主页
  121. 在飞机页面上添加搜索
  122. 创建飞机制造商的条形图
  123. 对飞机制造商条形图进行迭代
  124. 实体解析:新一轮图表迭代
  125. 本章小结
  126. 第7章 进行预测
  127. 预测的作用
  128. 预测什么
  129. 预测分析导论
  130. 进行预测
  131. 探索航班延误
  132. 使用PySpark提取特征
  133. 使用scikit-learn构建回归模型
  134. 读取数据
  135. 数据采样
  136. 向量化处理结果
  137. 准备训练数据
  138. 向量化处理特征
  139. 稀疏矩阵与稠密矩阵
  140. 准备实验
  141. 训练模型
  142. 测试模型
  143. 小结
  144. 使用Spark MLlib构建分类器
  145. 使用专用结构加载训练数据
  146. 处理空值
  147. 用Route(路线)替代FlightNum(航班号)
  148. 对连续变量分桶以用于分类
  149. 使用pyspark.ml.feature向量化处理特征
  150. 用Spark ML做分类
  151. 本章小结
  152. 第8章 部署预测系统
  153. 把scikit-learn应用部署为网络服务
  154. scikit-learn模型的保存与读取
  155. 提供预测模型的准备工作
  156. 为航班延误回归分析创建API
  157. 测试API
  158. 在产品中使用API
  159. 使用Airflow部署批处理模式Spark ML应用
  160. 在生产环境中收集训练数据
  161. Spark ML模型的训练、存储与加载
  162. 在MongoDB中创建预测请求
  163. 从MongoDB中获取预测请求
  164. 使用Spark ML以批处理模式进行预测
  165. 用MongoDB保存预测结果
  166. 在网络应用中展示批处理预测结果
  167. 用Apache Airflow(孵化项目)自动化工作流
  168. 小结
  169. 用Spark Streaming部署流式计算模式Spark ML应用
  170. 在生产环境中收集训练数据
  171. Spark ML模型的训练、存储、读取
  172. 发送预测请求到Kafka
  173. 用Spark Streaming进行预测
  174. 测试整个系统
  175. 本章小结
  176. 第9章 改进预测结果
  177. 解决预测的问题
  178. 什么时候需要改进预测
  179. 改进预测表现
  180. 黏附试验法:找出黏性好的
  181. 为试验建立严格的指标
  182. 把当日时间作为特征
  183. 纳入飞机数据
  184. 提取飞机特征
  185. 在分类器模型中纳入飞机特征
  186. 纳入飞行时间
  187. 本章小结
  188. 附录A 安装手册
书名:Spark全栈数据分析
作者:Russell Jurney
译者:王道远 译
国内出版社:电子工业出版社
出版时间:2018年11月
页数:344
书号:978-7-121-35166-2
原版书书名:Agile Data Science 2.0
原版书出版商:O'Reilly Media
Russell Jurney
 
Russsel Jurney在美国和墨西哥的赌场开始他的数据分析生涯。他开发了一个Web应用来分析老虎机的性能。在经历了创业、交互式媒体和新闻业以后,他到了硅谷,在Ning和LinkedIn开始构建可扩展的数据分析应用。