注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计深入大型数据集:并行与分布化Python代码

深入大型数据集:并行与分布化Python代码

深入大型数据集:并行与分布化Python代码

定 价:¥99.00

作 者: [美] J.T.Wolohan(J.T.沃勒翰) 著,张若飞 译
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121403682 出版时间: 2021-01-01 包装: 平装
开本: 16开 页数: 320 字数:  

内容简介

  本书共分3部分,主要介绍如何使用Python语言来处理大型数据集。第1部分介绍map和reduce编程风格,以及Python中基础的map和reduce函数,并介绍如何将对象持久化,通过惰性函数和并行函数来加快大型数据集的处理速度。第2部分介绍Hadoop和Spark框架,以及如何使用mrjob库来编写Hadoop作业,如何实现PageRank算法,如何使用Spark来实现决策树和随机森林的机器学习模型。第3部分重点介绍云计算和云存储的基础知识,包括如何通过boto3的Python库将文件上传到AWS S3服务,以及如何在AWS的EMR集群中运行分布式的Hadoop和Spark作业。本书适合有一定Python编程基础,且希望掌握大型数据集处理能力的开发人员和数据科学家阅读。

作者简介

  J.T. Wolohan是Booz Allen Hamilton公司的一名高级人工智能和自然语言处理架构师。他教过各种层次的学生学习编程:从小学、初中学生到研究生、专业人士。除对分布式和并行计算感兴趣之外,J.T.还喜欢跑步、烹饪和与家人共度时光。张若飞,曾任多家互联网金融公司CTO,在宜人贷、雅虎北研、金山云等知名公司担任架构师。十余年互联网研发及技术管理经验,对搭建海量数据、大型分布式系统有丰富经验。著有十余本技术译著,包括《Grails权威指南》《给大忙人看的JavaSE 8》《代码不朽:编写可维护软件的十大原则》《面向可伸缩架构》《云原生Java》《云原生模式》等书,总计400余万字。

图书目录

第1部分
第1章 入门介绍
1.1 你将从本书中学到什么
1.2 为什么是大型数据集
1.3 什么是并行计算
1.3.1 理解并行计算
1.3.2 拥有map和reduce编程风格的可扩展计算
1.3.3 何时应该使用map和reduce编程风格
1.4 map和reduce编程风格
1.4.1 用来转换数据的map函数
1.4.2 用于高级转换的reduce函数
1.4.3 用于数据转译管道的map和reduce函数
1.5 可提升速度和可扩展性的分布式计算
1.6 Hadoop:一个map和reduce的分布式框架
1.7 提供高性能map、reduce和其他功能的Spark
1.8 AWS Elastic MapReduce―云上的大型数据集
总结
第2章 加速大型数据集处理任务:map函数和并行计算
2.1 map函数简介
2.1.1 通过map函数来获取URL
2.1.2 惰性函数(比如map)对大型数据集的强大功能
2.2 并行处理
2.2.1 处理器和处理过程
2.2.2 并行化和序列化
2.2.3 顺序和并行化
2.2.4 状态和并行化
2.3 把它们拼在一起:抓取维基百科(Wikipedia)网站
2.3.1 可视化我们的图
2.3.2 回到map函数
2.4 练习
2.4.1  并行化的问题
2.4.2 map函数
2.4.3 并行化和速度
2.4.4 存储序列化
2.4.5 Web抓取数据
2.4.6 异构的map转换
总结
第3章 用来映射复杂转换的函数管道
3.1 辅助函数和函数链
3.2 揭露黑客的通信手段
3.2.1 创建辅助函数
3.2.2 创建一个管道
3.3 Twitter人口预测
3.3.1 推文级别的管道
3.3.2 用户级别的管道
3.3.3 应用管道
3.4 练习
3.4.1 辅助函数和函数管道
3.4.2 数学老师的“把戏”
3.4.3 恺撒密码
总结
第4章 用惰性工作流来处理大型数据集
4.1 什么是惰性计算
4.2 一些你需要知道的惰性函数
4.2.1 用filter函数过滤序列
4.2.2 用zip函数合并序列
4.2.3 用iglob函数进行惰性文件搜索
4.3 理解迭代器:Python惰性能力背后的魔法
4.3.1 惰性Python的支柱:迭代器
4.3.2 生成器:用来创建数据的函数
4.4 诗歌谜题:如何惰性处理大型数据集
4.4.1 生成这个示例的数据
4.4.2 用iglob函数来读取诗的内容
4.4.3 清理诗的正则表达式类
4.4.4 计算诗歌内容的比率
4.5 惰性模拟:模拟渔村场景
4.5.1 创建一个村庄类
4.5.2 为我们的渔村场景设计一个模拟类
4.6 练习
4.6.1 惰性函数
4.6.2 fizz buzz问题生成器
4.6.3 重复访问
4.6.4 并行模拟
4.6.5 拼字游戏单词
总结
第5章 使用reduce进行累加操作
5.1 使用reduce函数进行N-X的转换
5.2 reduce函数的三个部分
5.2.1 reduce中的累加函数
5.2.2 使用lambda函数的简化累加
5.2.3 reduce函数中用于启动复杂行为的初始值
5.3 你熟悉的归约函数
5.3.1 使用reduce函数来模拟filter函数
5.3.2 使用reduce函数来模拟frequencies函数
5.4 同时使用map函数和reduce函数
5.5 使用reduce来分析汽车销售趋势
5.5.1 使用map函数来清洗汽车数据
5.5.2 使用reduce来计算汽车销售的总利润和总数量
5.5.3 对汽车数据应用map和reduce模式
5.6 加速map和reduce
5.7 练习
5.7.1 需要使用reduce的情况
5.7.2 lambda函数
5.7.3 最大的数字
5.7.4 按长度分组单词
总结
第6章 使用高级并行化来加速map和reduce
6.1 充分利用并行map
6.1.1 分块大小以及如何最大化地利用并行map
6.1.2 带有可变序列和分块大小的并行map运行时
6.1.3 更多的并行map:imap和starmap函数
6.2 解决并行map和reduce的悖论
6.2.1 用来更快进行归约的并行reduce
6.2.2 组合函数以及并行reduce工作流
6.2.3 使用fold实现并行求和、filter和frequencies
总结
第2部分
第7章 使用Hadoop和Spark处理真正的大型数据集
7.1 分布式计算
7.2 用于批处理的Hadoop
7.3 使用Hadoop找到高分单词
7.3.1 使用Python和Hadoop Streaming实现MapReduce作业
7.3.2 使用Hadoop Streaming对单词进行评分
7.4 用于交互式工作流的Spark
7.4.1 用Spark在内存中处理大型数据集
7.4.2 结合Python和Spark的PySpark
7.4.3 使用Spark SQL进行企业数据分析
7.4.4 用Spark DataFrame来处理列式数据
7.5 用Spark来记录单词得分
7.5.1 搭建Spark环境
7.5.2 通过spark-submit来运行MapReduce Spark作业
7.6 练习
7.6.1 Hadoop Streaming脚本
7.6.2 Spark接口
7.6.3 RDD
7.6.4 在多个步骤之间传递数据
总结
第8章 使用Apache Streaming和mrjob处理大数据的最佳实践
8.1 非结构化数据:日志和文档
8.2 使用Hadoop对网球球员进行分析
8.2.1 用来读取比赛数据的mapper函数
8.2.2 计算网球选手等级的reducer函数
8.3 通过mrjob工具,以Python的方式来使用Hadoop Streaming
8.3.1 一个mrjob作业的Python结构
8.3.2 使用mrjob统计错误数量
8.4 使用mrjob来分析网球比赛
8.4.1 按场地类型统计塞雷娜的战绩
8.4.2 统计威廉姆斯姐妹之间的长期竞争
8.5 练习
8.5.1 Hadoop的数据格式
8.5.2 更多的Hadoop数据格式
8.5.3 Hadoop的原生编程语言
8.5.4 在MRJob中设计通用的模式
总结
第9章 在PySpark中使用map和reduce来实现PageRank算法
9.1 近距离了解PySpark
9.1.1 PySpark中类似于map函数的方法
9.1.2 PySpark中类似于reduce函数的方法
9.1.3 PySpark中的简便方法
9.2 在PySpark中使用Elo和PageRank算法对网球选手进行评分
9.2.1 使用PySpark重新实现Elo评分
9.2.2 介绍PageRank算法
9.2.3 用PageRank来计算网球选手的评分
9.3 练习
9.3.1 sumByKey
9.3.2 用toolz库来实现sumByKey
9.3.3 Spark和toolz库
9.3.4 维基百科的PageRank算法
总结
第10章 使用机器学习和PySpark进行更快的决策
10.1 什么是机器学习
10.1.1 机器学习是一种可以自我调节的判断型算法
10.1.2 机器学习的常见应用程序
10.2 机器学习基础与决策树分类器
10.2.1 设计决策树分类器
10.2.2 在PySpark中实现一个决策树
10.3 PySpark中的快速随机森林分类
10.3.1 理解随机森林分类器
10.3.2 实现一个随机森林分类器
总结
第3部分
第11章 使用Amazon Web Services和S3在云计算环境中处理大型数据集
11.1 AWS Simple Storage Service―针对大型数据集的解决方案
11.1.1 用S3实现无限的存储
11.1.2 云存储的可扩展性
11.1.3 方便的存储异构对象
11.1.4 用于管理大型数据集的管理服务
11.1.5 管理大型数据集的生命周期策略
11.2 使用S3在云中存储数据
11.2.1 通过浏览器来存储S3数据
11.2.2 使用Python和boto通过编程方式访问S3
11.3 练习
11.3.1 S3存储类型
11.3.2 S3存储区域
11.3.3 对象存储
总结
第12章 使用Amazon的Elastic MapReduce在云上实现MapReduce
12.1 在EMR上通过mrjob来运行Hadoop
12.1.1 用EMR方便地创建云计算集群
12.1.2 使用mrjob启动EMR集群
12.1.3 AWS的EMR浏览器界面
12.2 在EMR上使用Spark来进行机器学习
12.2.1 编写机器学习模型
12.2.2 为Spark搭建一个EMR集群
12.2.3 在集群中运行PySpark作业
12.3 练习
12.3.1 R系列集群
12.3.2 相关联的Hadoop工作
12.3.3 实例类型
总结

本目录推荐