新書推薦:
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
66.7
《
虚弱的反攻:开禧北伐
》
售價:HK$
92.0
《
泰山:一种中国信仰专论(法国汉学经典译丛)
》
售價:HK$
81.4
《
花外集斠箋
》
售價:HK$
151.0
《
有兽焉.8
》
售價:HK$
68.8
《
大学问·明清经济史讲稿
》
售價:HK$
70.8
《
中国国际法年刊(2023)
》
售價:HK$
115.6
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:HK$
217.8
|
內容簡介: |
本文从Spark的基本特点出发,借助大量例子详细介绍了如何使用Python调用Spark新特性、处理结构化及非结构化数据、使用PySpark中基本可用数据类型、生成机器学习模型、进行图像操作以及阅读串流数据等新兴技术内容。
|
目錄:
|
Contents?目录
译者序
序
前言
关于作者
第1章 了解Spark1
1.1 什么是Apache Spark1
1.2 Spark作业和API2
1.2.1 执行过程2
1.2.2 弹性分布式数据集3
1.2.3 DataFrame4
1.2.4 Dataset5
1.2.5 Catalyst优化器5
1.2.6 钨丝计划5
1.3 Spark 2.0的架构6
1.3.1 统一Dataset和DataFrame7
1.3.2 SparkSession介绍8
1.3.3 Tungsten Phase 28
1.3.4 结构化流10
1.3.5 连续应用10
1.4 小结11
第2章 弹性分布式数据集12
2.1 RDD的内部运行方式12
2.2 创建RDD13
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章 DataFrame24
3.1 Python到RDD之间的通信24
3.2 Catalyst优化器刷新25
3.3 利用DataFrame加速PySpark27
3.4 创建DataFrame28
3.4.1 生成自己的JSON数据29
3.4.2 创建一个DataFrame29
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)API41
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形式的RDD70
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章 GraphFrames100
7.1 GraphFrames介绍102
7.2 安装GraphFrames102
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 理解Motif113
7.9 使用PageRank确定机场排名114
7.10 确定最受欢迎的直飞航班115
7.11 使用广度优先搜索116
7.12 使用D3将航班可视化118
7.13 小结119
第8章 TensorFrames120
8.1 深度学习是什么120
8.1.1 神经网络和深度学习的必要性123
8.1.2 特征工程是什么125
8.1.3 桥接数据和算法125
8.2 TensorFlow是什么127
8.2.1 安装PIP129
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实现混合持久化
|
內容試閱:
|
前言?Preface据估计,2013年全世界产生了大约4.4ZB(词头Z代表1021)信息量的数据!而到2020年,预计人类将会产生10倍于2013年的数据量。随着字面上的数字越来越大,加上人们需求的日益增长,为了使这些数据更有意义,2004年来自Google的Jeffrey Dean和Sanjay Ghemawat发表了一篇开创性的论文《MapReduce:Simplified Data Processing on Large Clusters》。至此,利用这一概念的技术开始快速增多,Apache Hadoop也开始迅速变得流行起来,最终创建了一个Hadoop的生态系统,包括抽象层的Pig、Hive和Mahout,都是利用了map和reduce的简单概念。
然而,即使拥有每天都分析过滤海量数据的能力,MapReduce始终是一个限制相当严格的编程框架。此外,大多数的任务还要求读取、写入磁盘。认识到这些缺点,2009年Matei Zaharia将Spark作为他博士课题的一部分开始研究。Spark在2012年首次发布。虽然Spark是基于和MapReduce相同的概念,但其先进的数据处理方法和任务组织方式使得它比Hadhoop要快100倍(对于内存计算)。
在这本书中,我们将指导你使用Python了解Apache Spark的最新性能,包括如何看懂结构化和非结构化的数据,如何使用PySpark中一些基本的可用数据类型,生成机器学习模型,图像操作,阅读串流数据,在云上部署模型。每一章力求解决不同的问题,并且我们也希望看完这本书之后,你可以掌握足够的知识来解决其他我们还没来得及在书中讲解的问题。
本书的主要内容第1章通过技术和作业的组织等概念提供了对Spark的介绍。
第2章介绍了RDD、基本原理、PySpark中可用的非模式化数据结构。
第3章详细介绍了DataFrame数据结构,它可以弥合Scala和Python之间在效率方面的差距。
第4章引导读者了解Spark环境中的数据清理和转换的过程。
第5章介绍了适用于RDD的机器学习库,并回顾了最有用的机器学习模型。
第6章涵盖了当前主流的机器学习库,并且提供了目前可用的所有模型的概述。
第7章引导你了解能轻松利用图解决问题的新结构。
第8章介绍了Spark和张量流(TensorFlow)领域中深度学习(Deep Learning)的连接桥梁。
第9章描述Blaze是如何跟Spark搭配使用以更容易地对多源数据进行抽象化的。
第10章介绍了PySpark中可用的流工具。
第11章一步步地指导你运用命令行界面完成代码模块化并提交到Spark执行。
其他一些详细信息,我们提供了以下额外的章节:
安装Spark:https:www.packtpub.comsitesdefaultfilesdownloadsInstallingSpark.pdf。
免费提供Spark Cloud:https:www.packtpub.comsitesdefaultfilesdownloadsFreeSparkCloud Offering.pdf。
本书需要的软硬件支持阅读本书,需要准备一台个人电脑(Windows、Mac或者Linux任一系统都行)。运行Apache Spark,需要Java 7+并且安装配置Python 2.6+版本或者3.4+版本的环境;本书中使用的是Anaconda Python3.5版本,可以在https:www.continuum.iodownloads下载。
本书中我们随意使用了Anaconda的预装版Python模块。GraphFrames和TensorFrames也可以在启动Spark实例时动态加载:载入时你的电脑需要联网。如果有的模块尚未安装到你的电脑里,也没有关系,我们会指导你完成安装过程。
本书的读者对象想要学习大数据领域发展最迅速的技术即Apache Spark的每一个人,都可以阅读此书。我们甚至希望还有来自于数据科学领域更高级的从业人员,能够找到一些令人耳目一新的例子以及更有趣的主题。
本书约定警告或重要的笔记提示和技巧下载代码示例你可以从http:www.packtpub.com下载代码文件。你也可以访问华章图书官网:http:www.hzbook.com,通过注册并登录个人账号,下载本书的源代码。
下载本书彩图我们还提供了一个PDF文件,其中包含本书中使用的截图和彩图,可以帮助读者更好地了解输出的变化。您可以从此下载文件https:www.packtpub.comsitesdefaultfilesdownloadsLearningPySpark_ColorImages.pdf。
|
|