作品简介

《深入大型数据集:并行与分布化Python代码》共分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代码》适合有一定Python编程基础,且希望掌握大型数据集处理能力的开发人员和数据科学家阅读。

J.T. Wolohan是Booz Allen Hamilton公司的一名高级人工智能和自然语言处理架构师。他教过各种层次的学生学习编程:从小学、初中学生到研究生、专业人士。除对分布式和并行计算感兴趣之外,J.T.还喜欢跑步、烹饪和与家人共度时光。

译者简介

张若飞,曾任多家互联网金融公司CTO,在宜人贷、雅虎北研、金山云等知名公司担任架构师。十余年互联网研发及技术管理经验,对搭建海量数据、大型分布式系统有丰富经验。著有十余本技术译著,包括《Grails权威指南》《给大忙人看的JavaSE8》《代码不朽:编写可维护软件的十大原则》《面向可伸缩架构》《云原生Java》《云原生模式》等书,总计400余万字。

作品目录

  • 内容简介
  • 译者序
  • 前言
  • 致谢
  • 关于本书
  • 关于作者
  • 关于封面插图
  • 第1部分
  • 1 入门介绍
  • 1.1 你将从本书中学到什么
  • 1.2 为什么是大型数据集
  • 1.3 什么是并行计算
  • 1.4 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.2 并行处理
  • 2.3 把它们拼在一起:抓取维基百科(Wikipedia)网站
  • 2.4 练习
  • 总结
  • 3用来映射复杂转换的函数管道
  • 3.1 辅助函数和函数链
  • 3.2 揭露黑客的通信手段
  • 3.3 Twitter人口预测
  • 3.4 练习
  • 总结
  • 4用惰性工作流来处理大型数据集
  • 4.1 什么是惰性计算
  • 4.2 一些你需要知道的惰性函数
  • 4.3 理解迭代器:Python惰性能力背后的魔法
  • 4.4 诗歌谜题:如何惰性处理大型数据集
  • 4.5 惰性模拟:模拟渔村场景
  • 4.6 练习
  • 总结
  • 5使用reduce进行累加操作
  • 5.1 使用reduce函数进行N-X的转换
  • 5.2 reduce函数的三个部分
  • 5.3 你熟悉的归约函数
  • 5.4 同时使用map函数和reduce函数
  • 5.5 使用reduce来分析汽车销售趋势
  • 5.6 加速map和reduce
  • 5.7 练习
  • 总结
  • 6 使用高级并行化来加速map和reduce
  • 6.1 充分利用并行map
  • 6.2 解决并行map和reduce的悖论
  • 总结
  • 第2部分
  • 7使用Hadoop和Spark处理真正的大型数据集
  • 7.1 分布式计算
  • 7.2 用于批处理的Hadoop
  • 7.3 使用Hadoop找到高分单词
  • 7.4 用于交互式工作流的Spark
  • 7.5 用Spark来记录单词得分
  • 7.6 练习
  • 总结
  • 8使用Apache Streaming和mrjob处理大数据的最佳实践
  • 8.1 非结构化数据:日志和文档
  • 8.2 使用Hadoop对网球球员进行分析
  • 8.3 通过mrjob工具,以Python的方式来使用HadoopStreaming
  • 8.4 使用mrjob来分析网球比赛
  • 8.5 练习
  • 总结
  • 9在PySpark中使用map和reduce来实现PageRank算法
  • 9.1 近距离了解PySpark
  • 9.2 在PySpark中使用Elo和PageRank算法对网球选手进行评分
  • 9.3 练习
  • 总结
  • 10使用机器学习和PySpark进行更快的决策
  • 10.1 什么是机器学习
  • 10.2 机器学习基础与决策树分类器
  • 10.3 PySpark中的快速随机森林分类
  • 总结
  • 第3部分
  • 11使用Amazon Web Services和S3在云计算环境中处理大型数据集
  • 11.1 AWS Simple Storage Service——针对大型数据集的解决方案
  • 11.2 使用S3在云中存储数据
  • 11.3 练习
  • 总结
  • 12使用Amazon的Elastic MapReduce在云上实现MapReduce
  • 12.1 在EMR上通过mrjob来运行Hadoop
  • 12.2 在EMR上使用Spark来进行机器学习
  • 12.3 练习
  • 总结
展开全部