作品简介

作为一个通用大数据计算框架,Spark广泛应用于多种典型大数据分析场景。

通过这本书,你将了解到:Spark的机制与生态系统,Spark算法分析与应用,典型的数据分析场景,Spark在日志分析、情感分析、协同过滤、个性化推荐、社交网络分析、搜索、文本分析等场景的应用,Spnrk与其他开源工具及系统的集成。

Spark已经在全球范围内被广泛使用,无沦是微软、Intel、阿里巴巴、百度、腾讯等国际互联网巨头,还是一些初创公司,都在使用Spark。本书作者结合实战经验,编写了这本书。本书抽象出典型数据分析应用场景,适当简化,只进行主干介绍,讲解Spark应用开发、数据分析算法,并结合其他开源系统与组件,勾勒出数据分析流水线全貌。

高彦杰 倪亚宇 著

作品目录

  • 前言
  • 第1章 Spark简介
  • 1.1 初识Spark
  • 1.2 Spark生态系统BDAS
  • 1.3 Spark架构与运行逻辑
  • 1.4 弹性分布式数据集
  • 1.4.1 RDD简介
  • 1.4.2 RDD算子分类
  • 1.5 本章小结
  • 第2章 Spark开发与环境配置
  • 2.1 Spark应用开发环境配置
  • 2.1.1 使用Intellij开发Spark程序
  • 2.1.2 使用SparkShell进行交互式数据分析
  • 2.2 远程调试Spark程序
  • 2.3 Spark编译
  • 2.4 配置Spark源码阅读环境
  • 2.5 本章小结
  • 第3章 BDAS简介
  • 3.1 SQL on Spark
  • 3.1.1 为什么使用Spark SQL
  • 3.1.2 Spark SQL架构分析
  • 3.2 Spark Streaming
  • 3.2.1 Spark Streaming简介
  • 3.2.2 Spark Streaming架构
  • 3.2.3 Spark Streaming原理剖析
  • 3.3 GraphX
  • 3.3.1 GraphX简介
  • 3.3.2 GraphX的使用简介
  • 3.3.3 GraphX体系结构
  • 3.4 MLlib
  • 3.4.1 MLlib简介
  • 3.4.2 MLlib中的聚类和分类
  • 3.5 本章小结
  • 第4章 Lamda架构日志分析流水线
  • 4.1 日志分析概述
  • 4.2 日志分析指标
  • 4.3 Lamda架构
  • 4.4 构建日志分析数据流水线
  • 4.4.1 用Flume进行日志采集
  • 4.4.2 用Kafka将日志汇总
  • 4.4.3 用Spark Streaming进行实时日志分析
  • 4.4.4 Spark SQL离线日志分析
  • 4.4.5 用Flask将日志KPI可视化
  • 4.5 本章小结
  • 第5章 基于云平台和用户日志的推荐系统
  • 5.1 Azure云平台简介
  • 5.1.1 Azure网站模型
  • 5.1.2 Azure数据存储
  • 5.1.3 Azure Queue消息传递
  • 5.2 系统架构
  • 5.3 构建Node.js应用
  • 5.3.1 创建Azure Web应用
  • 5.3.2 构建本地Node.js网站
  • 5.3.3 发布应用到云平台
  • 5.4 数据收集与预处理
  • 5.4.1 通过JS收集用户行为日志
  • 5.4.2 用户实时行为回传到Azure Queue
  • 5.5 Spark Streaming实时分析用户日志
  • 5.5.1 构建Azure Queue的Spark Streaming Receiver
  • 5.5.2 Spark Streaming实时处理Azure Queue日志
  • 5.5.3 Spark Streaming数据存储于Azure Table
  • 5.6 MLlib离线训练模型
  • 5.6.1 加载训练数据
  • 5.6.2 使用rating RDD训练ALS模型
  • 5.6.3 使用ALS模型进行电影推荐
  • 5.6.4 评估模型的均方差
  • 5.7 本章小结
  • 第6章 Twitter情感分析
  • 6.1 系统架构
  • 6.2 Twitter数据收集
  • 6.2.1 设置
  • 6.2.2 Spark Streaming接收并输出Tweet
  • 6.3 数据预处理与Cassandra存储
  • 6.3.1 添加SBT依赖
  • 6.3.2 创建Cassandra Schema
  • 6.3.3 数据存储于Cassandra
  • 6.4 Spark Streaming热点Twitter分析
  • 6.5 Spark Streaming在线情感分析
  • 6.6 Spark SQL进行Twitter分析
  • 6.6.1 读取Cassandra数据
  • 6.6.2 查看JSON数据模式
  • 6.6.3 Spark SQL分析Twitter
  • 6.7 Twitter可视化
  • 6.8 本章小结
  • 第7章 热点新闻分析系统
  • 7.1 新闻数据分析
  • 7.2 系统架构
  • 7.3 爬虫抓取网络信息
  • 7.3.1 Scrapy简介
  • 7.3.2 创建基于Scrapy的新闻爬虫
  • 7.3.3 爬虫分布式化
  • 7.4 新闻文本数据预处理
  • 7.5 新闻聚类
  • 7.5.1 数据转换为向量(向量空间模型VSM)
  • 7.5.2 新闻聚类
  • 7.5.3 词向量同义词查询
  • 7.5.4 实时热点新闻分析
  • 7.6 Spark Elastic Search构建全文检索引擎
  • 7.6.1 部署Elastic Search
  • 7.6.2 用Elastic Search索引MongoDB数据
  • 7.6.3 通过Elastic Search检索数据
  • 7.7 本章小结
  • 第8章 构建分布式的协同过滤推荐系统
  • 8.1 推荐系统简介
  • 8.2 协同过滤介绍
  • 8.2.1 基于用户的协同过滤算法User-based CF
  • 8.2.2 基于项目的协同过滤算法Item-based CF
  • 8.2.3 基于模型的协同过滤推荐Model-based CF
  • 8.3 基于Spark的矩阵运算实现协同过滤算法
  • 8.3.1 Spark中的矩阵类型
  • 8.3.2 Spark中的矩阵运算
  • 8.3.3 实现User-based协同过滤的示例
  • 8.3.4 实现Item-based协同过滤的示例
  • 8.3.5 基于奇异值分解实现Model-based协同过滤的示例
  • 8.4 基于Spark的MLlib实现协同过滤算法
  • 8.4.1 MLlib的推荐算法工具
  • 8.4.2 MLlib协同过滤推荐示例
  • 8.5 案例:使用MLlib协同过滤实现电影推荐
  • 8.5.1 MovieLens数据集
  • 8.5.2 确定最佳的协同过滤模型参数
  • 8.5.3 利用最佳模型进行电影推荐
  • 8.6 本章小结
  • 第9章 基于Spark的社交网络分析
  • 9.1 社交网络介绍
  • 9.1.1 社交网络的类型
  • 9.1.2 社交网络的相关概念
  • 9.2 社交网络中社团挖掘算法
  • 9.2.1 聚类分析和K均值算法简介
  • 9.2.2 社团挖掘的衡量指标
  • 9.2.3 基于谱聚类的社团挖掘算法
  • 9.3 Spark中的K均值算法
  • 9.3.1 Spark中与K均值有关的对象和方法
  • 9.3.2 Spark下K均值算法示例
  • 9.4 案例:基于Spark的Facebook社团挖掘
  • 9.4.1 SNAP社交网络数据集介绍
  • 9.4.2 基于Spark的社团挖掘实现
  • 9.5 社交网络中的链路预测算法
  • 9.5.1 分类学习简介
  • 9.5.2 分类器的评价指标
  • 9.5.3 基于Logistic回归的链路预测算法
  • 9.6 Spark MLlib中的Logistic回归
  • 9.6.1 分类器相关对象
  • 9.6.2 模型验证对象
  • 9.6.3 基于Spark的Logistic回归示例
  • 9.7 案例:基于Spark的链路预测算法
  • 9.7.1 SNAP符号社交网络Epinions数据集
  • 9.7.2 基于Spark的链路预测算法
  • 9.8 本章小结
  • 第10章 基于Spark的大规模新闻主题分析
  • 10.1 主题模型简介
  • 10.2 主题模型LDA
  • 10.2.1 LDA模型介绍
  • 10.2.2 LDA的训练算法
  • 10.3 Spark中的LDA模型
  • 10.3.1 MLlib对LDA的支持
  • 10.3.2 Spark中LDA模型训练示例
  • 10.4 案例:Newsgroups新闻的主题分析
  • 10.4.1 Newsgroups数据集介绍
  • 10.4.2 交叉验证估计新闻的主题个数
  • 10.4.3 基于主题模型的文本聚类算法
  • 10.4.4 基于主题模型的文本分类算法
  • 10.5 本章小结
  • 第11章 构建分布式的搜索引擎
  • 11.1 搜索引擎简介
  • 11.2 搜索排序概述
  • 11.3 查询无关模型PageRank
  • 11.4 基于Spark的分布式PageRank实现
  • 11.4.1 PageRank的MapReduce实现
  • 11.4.2 Spark的分布式图模型GraphX
  • 11.4.3 基于GraphX的PageRank实现
  • 11.5 案例:GoogleWeb Graph的PageRank计算
  • 11.6 查询相关模型Ranking SVM
  • 11.7 Spark中支持向量机的实现
  • 11.7.1 Spark中的支持向量机模型
  • 11.7.2 使用Spark测试数据演示支持向量机的训练
  • 11.8 案例:基于MSLR数据集的查询排序
  • 11.8.1 Microsoft Learning to Rank数据集介绍
  • 11.8.2 基于Spark的Ranking SVM实现
  • 11.9 本章小结
展开全部