Spark快速大数据分析
Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia
王道远 译
出版时间:2015年09月
页数:210
如今,所有领域的数据量都在急剧增长。如何才能高效利用这些数据呢?本书介绍了开源集群计算系统Apache Spark,它可以加速数据分析的实现和运行。利用Spark,你可以用Python、Java以及Scala的简易API来快速操控大规模数据集。
本书由Spark开发者编写,可以让数据科学家和工程师即刻上手。你能学到如何使用简短的代码实现复杂的并行作业,还能了解从简单的批处理作业到流处理以及机器学习等应用。
通过阅读本书,你可以:
· 快速深入探索Spark功能,比如分布式数据集、内存式缓存,以及交互式shell;
· 充分利用Spark强大的内建库,包括Spark SQL、Spark Streaming和MLlib;
· 使用统一的编程范式而不需要组合使用Hive、Hadoop、Mahout、Storm等工具;
· 学习如何部署交互式应用、批处理应用以及流式计算应用;
· 连接HDFS、Hive、JSON以及S3等数据源;
· 掌握数据分区和共享变量等进阶知识。

  1. 推荐序
  2. 译者序
  3. 前言 
  4. 第1章 Spark数据分析导论  
  5. 1.1 Spark是什么  
  6. 1.2 一个大一统的软件栈  
  7. 1.2.1 Spark Core  
  8. 1.2.2 Spark SQL  
  9. 1.2.3 Spark Streaming  
  10. 1.2.4 MLlib  
  11. 1.2.5 GraphX  
  12. 1.2.6 集群管理器  
  13. 1.3 Spark的用户和用途  
  14. 1.3.1 数据科学任务  
  15. 1.3.2 数据处理应用  
  16. 1.4 Spark简史  
  17. 1.5 Spark的版本和发布  
  18. 1.6 Spark的存储层次  
  19. 第2章 Spark下载与入门  
  20. 2.1 下载Spark  
  21. 2.2 Spark中Python和Scala的shell  
  22. 2.3 Spark 核心概念简介
  23. 2.4 独立应用
  24. 2.4.1 初始化SparkContext  
  25. 2.4.2 构建独立应用  
  26. 2.5 总结  
  27. 第3章 RDD编程  
  28. 3.1 RDD基础  
  29. 3.2 创建RDD  
  30. 3.3 RDD操作
  31. 3.3.1 转化操作
  32. 3.3.2 行动操作
  33. 3.3.3 惰性求值  
  34. 3.4 向Spark传递函数  
  35. 3.4.1 Python
  36. 3.4.2 Scala  
  37. 3.4.3 Java  
  38. 3.5 常见的转化操作和行动操作  
  39. 3.5.1 基本RDD  
  40. 3.5.2 在不同RDD类型间转换
  41. 3.6 持久化( 缓存)  
  42. 3.7 总结
  43. 第4章 键值对操作
  44. 4.1 动机
  45. 4.2 创建Pair RDD  
  46. 4.3 Pair RDD的转化操作
  47. 4.3.1 聚合操作  
  48. 4.3.2 数据分组  
  49. 4.3.3 连接
  50. 4.3.4 数据排序
  51. 4.4 Pair RDD的行动操作
  52. 4.5 数据分区(进阶)
  53. 4.5.1 获取RDD的分区方式
  54. 4.5.2 从分区中获益的操作
  55. 4.5.3 影响分区方式的操作
  56. 4.5.4 示例:PageRank  
  57. 4.5.5 自定义分区方式  
  58. 4.6 总结
  59. 第5章 数据读取与保存
  60. 5.1 动机
  61. 5.2 文件格式
  62. 5.2.1 文本文件
  63. 5.2.2 JSON  
  64. 5.2.3 逗号分隔值与制表符分隔值
  65. 5.2.4 SequenceFile  
  66. 5.2.5 对象文件
  67. 5.2.6 Hadoop输入输出格式
  68. 5.2.7 文件压缩  
  69. 5.3 文件系统  
  70. 5.3.1 本地/“常规”文件系统 
  71. 5.3.2 Amazon S3  
  72. 5.3.3 HDFS 
  73. 5.4 Spark SQL中的结构化数据 
  74. 5.4.1 Apache Hive  
  75. 5.4.2 JSON  
  76. 5.5 数据库  
  77. 5.5.1 Java数据库连接 
  78. 5.5.2 Cassandra 
  79. 5.5.3 HBase 
  80. 5.5.4 Elasticsearch 
  81. 5.6 总结
  82. 第6章 Spark编程进阶
  83. 6.1 简介
  84. 6.2 累加器
  85. 6.2.1 累加器与容错性  
  86. 6.2.2 自定义累加器  
  87. 6.3 广播变量  
  88. 6.4 基于分区进行操作 
  89. 6.5 与外部程序间的管道
  90. 6.6 数值RDD的操作
  91. 6.7 总结
  92. 第7章 在集群上运行Spark 
  93. 7.1 简介
  94. 7.2 Spark运行时架构
  95. 7.2.1 驱动器节点
  96. 7.2.2 执行器节点
  97. 7.2.3 集群管理器
  98. 7.2.4 启动一个程序
  99. 7.2.5 小结
  100. 7.3 使用spark-submit部署应用
  101. 7.4 打包代码与依赖 
  102. 7.4.1 使用Maven构建的用Java编写的Spark应用 
  103. 7.4.2 使用sbt构建的用Scala编写的Spark应用 
  104. 7.4.3 依赖冲突  
  105. 7.5 Spark应用内与应用间调度
  106. 7.6 集群管理器
  107. 7.6.1 独立集群管理器 
  108. 7.6.2 Hadoop YARN  
  109. 7.6.3 Apache Mesos 
  110. 7.6.4 Amazon EC2  
  111. 7.7 选择合适的集群管理器
  112. 7.8 总结
  113. 第8章 Spark调优与调试
  114. 8.1 使用SparkConf配置Spark  
  115. 8.2 Spark执行的组成部分:作业、任务和步骤  
  116. 8.3 查找信息
  117. 8.3.1 Spark网页用户界面
  118. 8.3.2 驱动器进程和执行器进程的日志
  119. 8.4 关键性能考量
  120. 8.4.1 并行度
  121. 8.4.2 序列化格式
  122. 8.4.3 内存管理
  123. 8.4.4 硬件供给
  124. 8.5 总结
  125. 第9章 Spark SQL 
  126. 9.1 连接Spark SQL 
  127. 9.2 在应用中使用Spark SQL 
  128. 9.2.1 初始化Spark SQL  
  129. 9.2.2 基本查询示例
  130. 9.2.3 SchemaRDD  
  131. 9.2.4 缓存
  132. 9.3 读取和存储数据
  133. 9.3.1 Apache Hive 
  134. 9.3.2 Parquet 
  135. 9.3.3 JSON 
  136. 9.3.4 基于RDD  
  137. 9.4 JDBC/ODBC服务器
  138. 9.4.1 使用Beeline 
  139. 9.4.2 长生命周期的表与查询
  140. 9.5 用户自定义函数  
  141. 9.5.1 Spark SQL UDF  
  142. 9.5.2 Hive UDF  
  143. 9.6 Spark SQL性能
  144. 9.7 总结
  145. 第10章 Spark Streaming
  146. 10.1 一个简单的例子
  147. 10.2 架构与抽象
  148. 10.3 转化操作
  149. 10.3.1 无状态转化操作
  150. 10.3.2 有状态转化操作
  151. 10.4 输出操作
  152. 10.5 输入源
  153. 10.5.1 核心数据源
  154. 10.5.2 附加数据源
  155. 10.5.3 多数据源与集群规模
  156. 10.6 24/7不间断运行
  157. 10.6.1 检查点机制
  158. 10.6.2 驱动器程序容错
  159. 10.6.3 工作节点容错
  160. 10.6.4 接收器容错
  161. 10.6.5 处理保证
  162. 10.7 Streaming用户界面
  163. 10.8 性能考量
  164. 10.8.1 批次和窗口大小
  165. 10.8.2 并行度
  166. 10.8.3 垃圾回收和内存使用
  167. 10.9 总结
  168. 第11章 基于MLlib的机器学习
  169. 11.1 概述
  170. 11.2 系统要求
  171. 11.3 机器学习基础
  172. 11.4 数据类型
  173. 11.5 算法
  174. 11.5.1 特征提取
  175. 11.5.2 统计
  176. 11.5.3 分类与回归
  177. 11.5.4 聚类
  178. 11.5.5 协同过滤与推荐
  179. 11.5.6 降维
  180. 11.5.7 模型评估
  181. 11.6 一些提示与性能考量
  182. 11.6.1 准备特征
  183. 11.6.2 配置算法
  184. 11.6.3 缓存RDD以重复使用
  185. 11.6.4 识别稀疏程度
  186. 11.6.5 并行度
  187. 11.7 流水线API  
  188. 11.8 总结
  189. 作者简介
  190. 封面介绍
书名:Spark快速大数据分析
译者:王道远 译
国内出版社:人民邮电出版社
出版时间:2015年09月
页数:210
书号:978-7-115-40309-4
原版书书名:Learning Spark
原版书出版商:O'Reilly Media
Holden Karau
 
Databricks的软件开发工程师,活跃于开源社区。她还著有《Spark快速数据处理》。
 
 
Andy Konwinski
 
Databricks联合创始人,Apache Spark项目技术专家,还是Apache Mesos项目的联合发起人。
 
 
Patrick Wendell
 
Databricks联合创始人,也是Apache Spark项目技术专家。他还负责维护Spark核心引擎的几个子系统。
 
 
Matei Zaharia
 
Databricks的CTO,同时也是Apache Spark项目发起人以及Apache基金会副主席。