PySpark实战指南:利用Python和Spark构建数据密集型应用并规模化部署
基本信息
原书名:Learning PySpark
作者: (美)托马兹·卓巴斯(Tomasz Drabas) (美)丹尼·李(Denny Lee)
译者: 栾云杰 陈瑶 刘旭斌
丛书名: 大数据技术丛书
出版社:机械工业出版社
ISBN:9787111582380
定价 49元
出版日期:2017 年11月
开本:16开
版次:1-1
所属分类:计算机
作译者
托马兹·卓巴斯(Tomasz Drabas)工作于微软,是一名数据科学家,现居住在西雅图地区。他拥有过13年的数据分析和数据科学经验:在欧洲、澳大利亚和北美洲三大洲期间,工作领域遍及先进技术、航空、电信、金融和咨询。在澳大利亚期间,托马兹一直致力于运筹学博士学位,重点是航空业中的选择建模和收入管理应用。
在微软,托马兹每天都和大数据打交道,解决机器学习问题,如异常检测、流失预测和使用Spark的模式识别。
托马兹还撰写了《Practical Data Analysis Cookbook》,该书由Packt Publishing于2016年出版。
我要感谢我的家人Rachel、Skye 和Albert,你们是我生命中的挚爱,我很珍惜与你们度过的每一天!谢谢你们永远站在我身边,鼓励我一步步接近我的职业目标。另外,感谢所有的亲人们。
多年来,还有很多人影响了我,我得再写一本书来感谢他们。你们知道,我从心底谢谢你们!
不过,如果不是Czesia Wieruszewska,我不会得到博士学位。还有Krzys Krzysztoszek,你一直相信我!谢谢!
丹尼·李(Denny Lee)是微软Azure DocumentDB团队的席项目经理,该团队致力于为微软发展高效性、重量级的托管文档存储服务。他是一名喜欢实践的分布式系统和数据科学工程师,拥有过18年的互联网级别基础架构、数据平台和预测分析系统的开发经验,这些经验可用于内部部署和云环境。
他在组建新团队以及促进转型、改革方面拥有丰富的经验。在加入Azure DocumentDB团队之前,丹尼曾担任Databricks的技术传播专员,他从Apache Spark 0.5时就一直在使用Apache Spark。他还是Concur数据科学工程的高级总监,曾就职于构建了微软Windows和Azure服务(目前称为HDInsight)的Hadoop的孵化团队。丹尼还拥有俄勒冈州健康和科学大学的生物医学信息硕士学位,并在过去15年中为企业医疗保健客户构建和实施了强大的数据解决方案。
我要感谢我的好妻子Hua-Ping,还有我出色的女儿Isabella和Samantha。是你们让我保持清醒,帮我实现了梦寐以求的愿望!
目录
目录
译者序
序
前言
关于作者
第1章 了解Spark 1
1.1 什么是Apache Spark 1
1.2 Spark作业和API 2
1.2.1 执行过程 2
1.2.2 弹性分布式数据集 3
1.2.3 DataFrame 4
1.2.4 Dataset 5
1.2.5 Catalyst优化器 5
1.2.6 钨丝计划 5
1.3 Spark 2.0的架构 6
1.3.1 统一Dataset和DataFrame 7
1.3.2 SparkSession介绍 8
1.3.3 Tungsten Phase 2 8
1.3.4 结构化流 10
1.3.5 连续应用 10
1.4 小结 11
第2章 弹性分布式数据集 12
2.1 RDD的内部运行方式 12
2.2 创建RDD 13
2.2.1 Schema 14
2.2.2 从文件读取 14
2.2.3 Lambda表达式 15
2.3 全局作用域和局部作用域 16
2.4 转换 17
2.4.1 .map(...)转换 17
2.4.2 .filter(...)转换 18
2.4.3 .flatMap(...)转换 18
2.4.4 .distinct(...)转换 18
2.4.5 .sample(...)转换 19
2.4.6 .leftOuterJoin(...)转换 19
2.4.7 .repartition(...)转换 20
2.5 操作 20
2.5.1 .take(...)方法 21
2.5.2 .collect(...)方法 21
2.5.3 .reduce(...)方法 21
2.5.4 .count(...)方法 22
2.5.5 .saveAsTextFile(...)方法 22
2.5.6 .foreach(...)方法 23
2.6 小结 23
第3章 DataFrame 24
3.1 Python到RDD之间的通信 24
3.2 Catalyst优化器刷新 25
3.3 利用DataFrame加速PySpark 27
3.4 创建DataFrame 28
3.4.1 生成自己的JSON数据 29
3.4.2 创建一个DataFrame 29
3.4.3 创建一个临时表 30
3.5 简单的DataFrame查询 31
3.5.1 DataFrame API查询 32
3.5.2 SQL查询 32
3.6 RDD的交互操作 33
3.6.1 使用反射来推断模式 33
3.6.2 编程指定模式 34
3.7 利用DataFrame API查询 35
3.7.1 行数 35
3.7.2 运行筛选语句 35
3.8 利用SQL查询 36
3.8.1 行数 36
3.8.2 利用where子句运行筛选语句 36
3.9 DataFrame场景——实时飞行性能 38
3.9.1 准备源数据集 38
3.9.2 连接飞行性能和机场 39
3.9.3 可视化飞行性能数据 40
3.10 Spark数据集(Dataset)API 41
3.11 小结 42
第4章 准备数据建模 43
4.1 检查重复数据、未观测数据和异常数据(离群值) 43
4.1.1 重复数据 43
4.1.2 未观测数据 46
4.1.3 离群值 50
4.2 熟悉你的数据 51
4.2.1 描述性统计 52
4.2.2 相关性 54
4.3 可视化 55
4.3.1 直方图 55
4.3.2 特征之间的交互 58
4.4 小结 60
第5章 MLlib介绍 61
5.1 包概述 61
5.2 加载和转换数据 62
5.3 了解你的数据 65
5.3.1 描述性统计 66
5.3.2 相关性 67
5.3.3 统计测试 69
5.4 创建终数据集 70
5.4.1 创建LabeledPoint形式的RDD 70
5.4.2 分隔培训和测试数据 71
5.5 预测婴儿生存机会 71
5.5.1 MLlib中的逻辑回归 71
5.5.2 只选择可预测的特征 72
5.5.3 MLlib中的随机森林 73
5.6 小结 74
第6章 ML包介绍 75
6.1 包的概述 75
6.1.1 转换器 75
6.1.2 评估器 78
6.1.3 管道 80
6.2 使用ML预测婴儿生存几率 80
6.2.1 加载数据 80
6.2.2 创建转换器 81
6.2.3 创建一个评估器 82
6.2.4 创建一个管道 82
6.2.5 拟合模型 83
6.2.6 评估模型的性能 84
6.2.7 保存模型 84
6.3 参调优 85
6.3.1 网格搜索法 85
6.3.2 Train-validation 划分 88
6.4 使用PySpark ML的其他功能 89
6.4.1 特征提取 89
6.4.2 分类 93
6.4.3 聚类 95
6.4.4 回归 98
6.5 小结 99
第7章 GraphFrames 100
7.1 GraphFrames介绍 102
7.2 安装GraphFrames 102
7.2.1 创建库 103
7.3 准备你的航班数据集 105
7.4 构建图形 107
7.5 执行简单查询 108
7.5.1 确定机场和航班的数量 108
7.5.2 确定这个数据集中的长延误时间 108
7.5.3 确定延误和准点/早到航班的数量对比 109
7.5.4 哪一班从西雅图出发的航班有可能出现重大延误 109
7.5.5 西雅图出发到哪个州的航班有可能出现重大延误 110
7.6 理解节点的度 110
7.7 确定大的中转机场 112
7.8 理解Motif 113
7.9 使用PageRank确定机场排名 114
7.10 确定受欢迎的直飞航班 115
7.11 使用广度优先搜索 116
7.12 使用D3将航班可视化 118
7.13 小结 119
第8章 TensorFrames 120
8.1 深度学习是什么 120
8.1.1 神经网络和深度学习的必要性 123
8.1.2 特征工程是什么 125
8.1.3 桥接数据和算法 125
8.2 TensorFlow是什么 127
8.2.1 安装PIP 129
8.2.2 安装TensorFlow 129
8.2.3 使用常量进行矩阵乘法 130
8.2.4 使用placeholder进行矩阵乘法 131
8.2.5 讨论 132
8.3 TensorFrames介绍 133
8.4 TensorFrames快速入门 134
8.4.1 配置和设置 134
8.4.2 使用TensorFlow向已有列添加常量 136
8.4.3 Blockwise reducing操作示例 137
8.5 小结 139
第9章 使用Blaze实现混合持久化 141
9.1 安装Blaze 141
9.2 混合持久化 142
9.3 抽象数据 143
9.3.1 使用NumPy 数组 143
9.3.2 使用pandas的DataFrame 145
9.3.3 使用文件 145
9.3.4 使用数据库 147
9.4 数据操作 149
9.4.1 访问列 150
9.4.2 符号转换 150
9.4.3 列的操作 151
9.4.4 降阶数据 152
9.4.5 连接 154
9.5 小结 156
第10章 结构化流 157
10.1 什么是Spark Streaming 157
10.2 为什么需要Spark Streaming 159
10.3 Spark Streaming应用程序数据流是什么 160
10.4 使用DStream简化Streaming应用程序 161
10.5 全局聚合快速入门 165
10.6 结构化流介绍 168
10.7 小结 172
第11章 打包Spark应用程序 173
11.1 spark-submit命令 173
11.2 以编程方式部署应用程序 176
11.2.1 配置你的SparkSession 176
11.2.2 创建SparkSession 177
11.2.3 模块化代码 177
11.2.4 提交作业 180
11.2.5 监控执行 182
11.3 Databricks作业 184
11.4 小结 186
↑折 叠
Apache Spark机器学习 平装 – 2017年3月1日
刘永川 (Alex Liu) (作者), 闫龙川 (译者), 高德荃 (译者), 李君婷 (译者)
定价59元出版社: 机械工业出版社; 第1版 (2017年3月1日)
外文书名: Apache Spark Machine Learning Blueprints
丛书名: 大数据技术丛书
平装: 208页
语种: 简体中文
开本: 16
ISBN: 7111562550, 9787111562559
条形码: 9787111562559
商品尺寸: 23.8 x 18.2 x 1.2 cm
商品重量: 381 g
品牌: 机械工业出版社
本书包装了一系列项目“蓝图”,展示了Spark可以帮你解决的一些有趣挑战,读者在将理论知识实践于一些实际项目之前,会了解到如何使用Sparknotebook,以及如何访问、清洗和连接不同的数据集,你将在其中了解Spark机器学习如何帮助你完成从欺诈检测到分析客户流失等各种工作。你还将了解如何使用Spark的并行计算能力构建推荐引擎。目录
版权信息
译者序
前言
第1章 Spark机器学习简介
1.1 Spark概述和技术优势
1.2 在机器学习中应用Spark计算
1.3 机器学习算法
1.4 MLlib
1.5 Spark RDD和DataFrame
1.6 机器学习工作流和Spark pipeline
1.7 机器学习工作流示例
1.8 Spark notebook简介
1.9 小结
第2章 Spark机器学习的数据准备
2.1 访问和加载数据集
2.2 数据清洗
2.3 一致性匹配
2.4 数据集重组
2.5 数据集连接
2.6 特征提取
2.7 复用性和自动化
2.8 小结
第3章 基于Spark的整体视图
3.1 Spark整体视图
3.2 整体视图的方法
3.3 特征准备
3.4 模型估计
3.5 模型评估
3.6 结果解释
3.7 部署
3.8 小结
第4章 基于Spark的欺诈检测
第10章 基于Spark的电信数据学习
10.1 在Spark平台上使用电信数据
10.2 电信数据机器学习方法
10.3 数据和特征开发
10.4 模型估计
10.5 模型评估
10.6 结果解释
10.7 模型部署
10.8 小结
第11章 基于Spark的开放数据建模
11.1 Spark用于开放数据学习
11.2 数据和特征准备
11.3 模型估计
11.4 结果解释
11.5 部署
11.6 小结
我之前在工作中接触过一些大数据处理的需求,但一直觉得 PySpark 方面的资料要么太零散,要么太理论化,很难找到一本能够系统性地讲解实操技巧的书。这本书的出现,简直就是及时雨!我翻阅了一下目录,发现它覆盖了从基础概念到高级应用的各个方面,特别是那些在实际工作中经常会遇到的场景,比如数据清洗、特征工程、模型部署等等,都有非常详尽的讲解。而且,我注意到它在代码示例上也非常注重实用性,很多例子都贴近实际业务场景,这对于我们这种需要快速落地技术的开发者来说,简直是太有帮助了。不用再花费大量时间去猜测和调试,可以直接参考书中的代码,大大提高了工作效率。
评分哇,这本书的排版和设计真是太棒了!拿到手的时候就觉得很有分量,纸张的质感也很好,拿在手里感觉很舒服。封面设计简洁大方,没有那种花里胡哨的感觉,一看就是一本认真做学问的书。书的整体尺寸也比较适中,方便携带和阅读。内页的排版也很舒服,字体大小适中,行距也很合理,阅读起来一点都不费眼睛。我尤其喜欢它在一些重要概念和代码示例旁边的标注,非常清晰明了,让我在阅读过程中能够迅速抓住重点。而且,书中的插图和图表也运用得恰到好处,虽然我还没来得及深入学习里面的内容,但仅仅是翻阅,就已经能感受到作者在内容组织和呈现上的用心。这种细节上的打磨,往往是区分一本好书和普通书的关键,让我对后续的学习充满了期待。
评分作为一个对技术细节有一定追求的读者,我非常看重书籍的严谨性和准确性。这本书在这一方面做得非常出色。我仔细阅读了几个章节,发现它在解释 PySpark 的核心概念时,逻辑清晰,条理分明,而且引用了大量的官方文档和最佳实践。在代码示例部分,每一个函数、每一个参数的解释都非常到位,不会让人产生歧义。而且,我注意到作者在处理一些容易出错的细节问题时,会给出非常明确的提示和解决方案,这对于初学者来说,能够避免走很多弯路。这种对技术细节的精益求精,让我对这本书的内容充满了信任。
评分这本书给我的第一印象就是“干货满满”!它没有那些冗余的理论铺垫,而是直奔主题,以实战为主导。我迫不及待地翻阅了几个与我当前工作相关的章节,发现书中提供的案例非常贴合实际需求,而且解决方案都非常具有参考价值。比如,在处理大规模数据集的 ETL(抽取、转换、加载)流程时,书中详细介绍了如何利用 PySpark 来优化性能,这对于提升数据处理效率非常有帮助。此外,书中关于分布式机器学习模型的构建和部署的讲解,也让我茅塞顿开,为我未来在实际项目中应用这些技术提供了清晰的思路和方法。
评分说实话,我一直对机器学习领域非常感兴趣,但感觉入门的门槛有点高,尤其是在涉及到大数据集的时候,传统的机器学习库就显得有些力不从心了。这本书的名字和内容正好契合了我的需求,将 PySpark 的强大能力与机器学习的深度结合起来,感觉打开了一个全新的视角。我翻看了一下关于模型训练的部分,发现它不仅仅是介绍了各种算法,更重要的是讲解了如何利用 Spark 的分布式计算能力来加速模型的训练过程,这对于处理海量数据是非常关键的。而且,它还提到了模型评估和调优的策略,这些都是机器学习实践中不可或缺的环节。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有