《Spark大数据分析:核心概念、技术及实践》一导读-阿里云开发者社区

开发者社区> 华章出版社> 正文

《Spark大数据分析:核心概念、技术及实践》一导读

简介:
前  言  Preface
本书是大数据和Spark方面的一本简明易懂的手册。它将助你学习如何用Spark来完成很多大数据分析任务。它覆盖了高效利用Spark所需要知道的一切内容。
购买本书的好处之一就是:帮你高效学习Spark,节省你大量时间。本书所覆盖的主题在互联网上都可以找到,网上有很多关于Spark的博客、PPT和视频。事实上,Spark的资料浩如烟海,你可能需要在网络上不同地方花费数月来阅读关于Spark的点滴和碎片知识。本书提供了一个更好的选择:内容组织精妙,并以易懂的形式表现出来。
本书的内容和材料的组织基于我在不同的大数据相关会议上所组织的Spark研讨会。与会者对于内容和流程方面的积极反馈激励我写了这本书。
书和研讨会的区别之一在于后者具有交互性。然而,组织过几次Spark研讨会后,我了解到了人们普遍存在的问题,我把这些内容也收录在本书中。如果阅读本书时有问题,我鼓励你们通过LinkedIn或Twitter联系我。任何问题都可以问,不存在什么“愚蠢的问题”。
本书没有覆盖Spark的每一个细节,而是包含了高效使用Spark所需要知道的重要主题。我的目标是帮你建立起坚实的基础。一旦基础牢固,就可以轻松学习一项新技术的所有细节。另外,我希望保持本书尽可能简单。如果读完本书后发现Spark看起来也挺简单的,那我的目的也就达到了。
本书中的任何主题都不要求有先验知识。本书会一步步介绍关键概念,每一节建立在前一节的基础上。同样,每一章都是下一章的基石。如果当下不需要,你可以略过后面一些章节中讲解的不同的Spark库。不过我还是鼓励你阅读所有章节。即使可能和你当前的项目不相关,那些部分也可能会给你新的灵感。
通过本书你会学到很多Spark及其相关技术的知识。然而,要充分利用本书,建议亲自运行书中所展示的例子:用代码示例做实验。当你写代码并执行时,很多事情就变得更加清晰。如果你一边阅读一边练习并用示例来实验,当读完本书时,你将成为一名基础扎实的Spark开发者。
在我开发Spark应用时,我发现了一个有用的资源—Spark官方API文档,其访问地址为http://spark.apache.org/docs/latest/api/scala。初学者可能觉得它难以理解,不过一旦你学习了基本概念后,会发现它很有用。
另一个有用的资源是Spark邮件列表。Spark社区很活跃、有用。不仅Spark开发者会回答问题,有经验的Spark用户也会志愿帮助新人。无论你遇到什么问题,很有可能Spark邮件列表中有人已经解决过这个问题了。
而且,也可以联系我,我很乐意倾听,欢迎反馈、建议和提问。

—Mohammed Guller
LinkedIn: www.linkedin.com/in/mohammedguller
Twitter: @MohammedGuller

Contents  目  录
译者序
前言
致谢
1.1.1 HDFS
1.1.2 MapReduce
1.1.3 Hive
1.2.1 Avro
1.2.2 Thrift
1.2.3 Protocol Buffers
1.2.4 SequenceFile
1.3.1 RCFile
1.3.2 ORC
1.3.3 Parquet
1.4.1 Kafka
1.4.2 ZeroMQ
1.5.1 Cassandra
1.5.2 HBase
1.6.1 Impala
1.6.2 Presto
1.6.3 Apache Drill
2.1.1 函数
2.1.2 不可变数据结构
2.1.3 一切皆表达式
2.2.1 起步
2.2.2 基础类型
2.2.3 变量
2.2.4 函数
2.2.5 类
2.2.6 单例
2.2.7 样本类
2.2.8 模式匹配
2.2.9 操作符
2.2.10 特质
2.2.11 元组
2.2.12 Option类型
2.2.13 集合
3.1.1 主要特点
3.1.2 理想的应用程序
3.2.1 worker
3.2.2 集群管理员
3.2.3 驱动程序
3.2.4 执行者
3.2.5 任务
3.3.1 术语
3.3.2 应用运行过程
3.5.1 SparkContext
3.5.2 RDD
3.5.3 创建RDD
3.5.4 RDD操作
3.5.5 保存RDD
3.7.1 RDD的缓存方法
3.7.2 RDD缓存是可容错的
3.7.3 缓存内存管理
3.9.1 广播变量
3.9.2 累加器
第4章 使用Spark shell进行交互式数据分析
4.1 起步
4.1.1 下载
4.1.2 解压
4.1.3 运行
4.2 REPL命令
4.3 把Spark shell当成Scala shell使用
4.4 数值分析
4.5 日志分析
4.6 总结
第5章 编写Spark应用
5.1 Spark中的Hello World
5.2 编译并运行应用
5.2.1 sbt
5.2.2 编译代码
5.2.3 运行应用
5.3 监控应用
5.4 调试应用
5.5 总结
第6章 Spark Streaming
6.1 Spark Streaming简介
6.1.1 Spark Streaming是一个Spark类库
6.1.2 总体架构
6.1.3 数据流来源
6.1.4 接收器
6.1.5 目的地
6.2 API
6.2.1 StreamingContext
6.2.2 Spark Streaming应用基本结构
6.2.3 DStream
6.2.4 创建DStream
6.2.5 处理数据流
6.2.6 输出操作
6.2.7 窗口操作
6.3 一个完整的Spark Streaming应用
6.4 总结
第7章 Spark SQL
7.1 Spark SQL简介
7.1.1 和其他Spark库集成
7.1.2 可用性
7.1.3 数据源
7.1.4 数据处理接口
7.1.5 与Hive的互操作性
7.2 性能
7.2.1 磁盘I/O
7.2.2 分区
7.2.3 列存储
7.2.4 内存中的列式缓存
7.2.5 行跳过
7.2.6 谓词下推
7.2.7 查询优化
7.3 应用
7.3.1 ETL
7.3.2 数据可视化
7.3.3 分布式JDBC/ODBC SQL查询引擎
7.3.4 数据仓库
7.4 API
7.4.1 关键抽象
7.4.2 创建DataFrame
7.4.3 在程序中使用SQL/HiveQL处理数据
7.4.4 使用DataFrame API处理数据
7.4.5 保存DataFrame
7.5 内置函数
7.5.1 聚合操作
7.5.2 集合操作
7.5.3 日期/时间
7.5.4 数学
7.5.5 字符串
7.5.6 窗口
7.6 UDF和UDAF
7.7 一个交互式分析的例子
7.8 使用Spark SQL JDBC服务器进行交互式分析
7.9 总结
第8章 使用Spark进行机器学习
8.1 机器学习简介
8.1.1 特征
8.1.2 标签
8.1.3 模型
8.1.4 训练数据
8.1.5 测试数据
8.1.6 机器学习应用
8.1.7 机器学习算法
8.1.8 超参数
8.1.9 模型评价
8.1.10 机器学习的主要步骤
8.2 Spark机器学习库
8.3 MLlib概览
8.3.1 与其他Spark库集成
8.3.2 统计工具
8.3.3 机器学习算法
8.4 MLlib API
8.4.1 数据类型
8.4.2 算法和模型
8.4.3 模型评价
8.5 MLlib示例应用
8.5.1 数据集
8.5.2 目标
8.5.3 代码
8.6 Spark ML
8.6.1 ML数据集
8.6.2 Transformer
8.6.3 Estimator
8.6.4 Pipeline
8.6.5 PipelineModel
8.6.6 Evaluator
8.6.7 网格搜索
8.6.8 CrossValidator
8.7 Spark ML示例应用
8.7.1 数据集
8.7.2 目标
8.7.3 代码
8.8 总结
第9章 使用Spark进行图处理
9.1 图简介
9.1.1 无向图
9.1.2 有向图
9.1.3 有向多边图
9.1.4 属性图
9.2 GraphX简介
9.3 GraphX API
9.3.1 数据抽象
9.3.2 创建图
9.3.3 图属性
9.3.4 图操作符
9.4 总结
第10章 集群管理员
10.1 独立集群管理员
10.1.1 架构
10.1.2 建立一个独立集群
10.1.3 在独立集群中运行Spark应用
10.2 Apache Mesos
10.2.1 架构
10.2.2 建立一个Mesos集群
10.2.3 在Mesos集群上运行Spark应用
10.3 YARN
10.3.1 架构
10.3.2 在YARN集群上运行Spark应用
10.4 总结
第11章 监控
11.1 监控独立集群
11.1.1 监控Spark master
11.1.2 监控Spark worker
11.2 监控Spark应用
11.2.1 监控一个应用所运行的作业
11.2.2 监控一个作业的不同阶段
11.2.3 监控一个阶段中的任务
11.2.4 监控RDD存储
11.2.5 监控环境
11.2.6 监控执行者
11.2.7 监控Spark流应用
11.2.8 监控Spark SQL查询
11.2.9 监控Spark SQL JDBC/ODBC服务器
11.3 总结
参考文献

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接