首页 > 图书中心 >图书详情

Python和PySpark数据分析

详细介绍了如何将PySpark 应用到日常的数据科学工作中。源代码下载地址见书封底二维码。

作者:[加] 乔纳森·里乌 (Jonathan Rioux)著 殷海英 译
丛书名:数据科学与大数据技术
定价:118
印次:1-1
ISBN:9787302645368
出版日期:2023.10.01
印刷日期:2023.09.27

Spark数据处理引擎是一个惊人的分析工厂:输入原始数据,输出洞察。PySpark用基于Python的API封装了Spark的核心引擎。它有助于简化Spark陡峭的学习曲线,并使这个强大的工具可供任何在Python数据生态系统中工作的人使用。 《Python和PySpark数据分析》帮助你使用PySpark解决数据科学的日常挑战。你将学习如何跨多台机器扩展处理能力,同时从任何来源(无论是Hadoop集群、云数据存储还是本地数据文件)获取数据。一旦掌握了基础知识,就可以通过构建机器学习管道,并配合Python、pandas和PySpark代码,探索PySpark的全面多功能特性。 主要内容 ● 组织PySpark代码 ● 管理任何规模的数据 ● 充满信心地扩展你的数据项目 ● 解决常见的数据管道问题 ● 创建可靠的长时间运行的任务

more >

关 于 本 书 本书将教你如何使用PySpark执行自己的大数据分析程序,以实际的场景讲授如何使用PySpark以及为什么使用PySpark。你将学习如何有效地采集和处理大规模数据,以及如何编写自己的数据转换程序。读完本书后,你应该能够熟练地使用PySpark编写自己的数据分析程序。 本书目标读者 本书使用由浅入深的用例展开,从简单的数据转换一直到机器学习管道。本书涵盖了数据分析的整个生命周期,从数据采集到结果使用,添加了更多关于数据源使用和转换的实用技术。 本书主要面向数据分析师、数据工程师和数据科学家,他们希望将Python代码扩展到更大的数据集。理想情况下,你应该在工作中或学习编程时编写过一些与数据相关的程序。如果已经熟练使用Python编程语言及其生态系统,你会从本书中学到更多的实用内容。 Spark(当然还有PySpark)从面向对象和函数式编程中借鉴了很多内容。我认为,仅仅为了有效地使用大数据,就要求完全掌握两种编程范式是不合理的。如果你理解Python类、装饰器和高级函数,就能熟练使用书中一些更高级的结构,让PySpark按照你的意愿运行。如果你对这些概念不熟悉,我会在本书(如果适用)正文和附录中讨论PySpark。 本书组织结构:路线图 本书分为3部分。第Ⅰ部分介绍PySpark及其计算模型。本部分还会介绍如何构建和提交一个简单的数据程序,重点介绍在每个PySpark程序中都会用到的核心操作,如数据帧中的数据选择、筛选、连接和分组。 第Ⅱ部分通过引入分层数据进一步深入介绍数据转换,分层数据是PySpark中可扩展数据程序的关键元素。我们还通过明智地引入SQL代码,探索弹性分布式数据集/用户自定义函数,在PySpark中高效地使用pandas及窗口函数,使程序更具表现力、更加灵活并具有更好的性能。我们还会探讨Spark的报表功能和资源管理,以找出潜在的性能问题。 最后,第III部分在第Ⅰ部分和第Ⅱ部分的基础上介绍了如何在PySpark中构建机器学习程序。在构建和评估机器学习管道之前,使用数据转换工具包创建和选择特征。最后,创建自己的机器学习管道组件,确保我们的机器学习程序具有最大的可用性和可读性。 本书的大部分章节都有练习。你应该能够用学到的知识回答这些问题。 我建议你从头到尾按顺序阅读本书,并根据需要使用附录。如果你想直接深入某个主题,我仍然建议你在深入某一章节之前先学习第Ⅰ部分。下面是一些硬依赖和软依赖,有助于你更高效地阅读本书。 ● 第3章是第2章的直接延续。 ● 第5章是第4章的直接延续。 ● 第9章使用了第8章介绍的一些概念,但资深读者可以自己阅读。 ● 第12章、第13章和第14章最好依次阅读。 关于代码 本书最适合使用Spark 3.1或Spark 3.2:Spark 3中引入了许多新功能,目前大多数商业版本都默认使用该版本。在适当的时候,我会为Spark 2.3/2.4提供向后兼容的指令。不推荐Spark 2.2或更低版本。我还推荐使用Python 3.6及以上版本(本书中我使用的是Python 3.8.8)。安装说明见附录B。 可以在https://github.com/jonesberg/DataAnalysisWithPythonAndPySpark上找到本书的配套代码库,其中包含数据和代码。有些部分还包含本书所开发程序的可运行版本,以及一些可选的练习。可扫描封底二维码下载本书源代码。 本书包含了许多源代码的示例,有带编号的代码清单,也有正常的文本。在这两种情况下,源代码的格式都是固定等宽字体,以将其与普通文本区分开。有时,代码也会以粗体字显示,以突出显示与本章前面步骤不同的代码,例如在现有代码中添加了新功能。 在许多情况下,原始源代码被重新格式化;添加了换行符,并修改了缩进,以方便排版和印刷。在极少数情况下,即使这样也不能满足排版需求,代码清单还会包括行连续标记(➥)。此外,正文中源代码的注释通常会被删除。代码清单中大都包含注释,以突出重要的概念。 前  言 虽然计算机的功能越来越强大,能够处理更大的数据集,但我们对数据的需求增长得更快。因此,我们构建了新的工具,以便在多台计算机上扩展大数据任务。这是有代价的,早期的工具很复杂,不仅需要用户管理数据程序,还需要用户管理计算机集群本身的运行状况和性能。我记得我曾尝试扩展自己的程序,但却得到“只需要对数据集进行采样,然后继续工作”的建议。 PySpark改变了游戏规则。从流行的Python编程语言开始,它提供了一个清晰可读的API来操作非常大的数据集。尽管如此,当你坐下来编写代码时,就像在操作一台复杂且功能强大的机器。PySpark集功能强大、表现力强、用途广泛于一体。通过强大的多维数据模型,无论多大的数据规模,都可以通过清晰的路径构建数据程序,以实现可伸缩性。 作为一名构建信用风险模型的数据科学家,我深深喜欢上PySpark。在即将把模型迁移到新的大数据环境时,我们需要设计一个计划:在保持业务连续运行的同时智能地转换我们的数据产品。作为一个自封的Python人,我的任务是帮助团队熟悉PySpark并加速过渡。当我有机会在不同的用例上与无数客户合作时,我对PySpark的喜爱程度呈指数级增长。这些项目的共同点是什么?大数据和大问题都可以通过强大的数据模型解决。需要注意的是,大多数学习Spark的材料都是针对Scala和Java的,Python开发人员只能将代码转换成他们喜欢的编程语言。我写本书是为了将PySpark作为数据分析师的优秀工具进行推广。幸运的是,Spark项目真的让Python成为主要参与者。现在,你拥有了扩展数据程序的强大工具,这是史无前例的。 而一旦大数据被驯服,就可以发挥数据的无限可能。 目 录

more >
扫描二维码
下载APP了解更多

同系列产品more >

极速Python:高性能编码、计算与数...

[美] 蒂亚戈·罗德里格斯
定 价:79.80元

查看详情
Python贝叶斯建模与计算

[阿根廷] 奥斯瓦尔多·A.
定 价:98元

查看详情
漫画算法与数据结构(大规模数据集)...

[波黑]黛拉·梅杰多维奇
定 价:79.80元

查看详情
不学编程做R统计分析:图形界面R C...

[加]约翰·福克斯(John
定 价:59.80元

查看详情
Effective数据科学基础设施

[芬] 维莱·图洛斯(Vill
定 价:98元

查看详情
图书分类全部图书
more >
  • 作为一家数据驱动软件公司的ML总监,Jonathan Rioux每天都在使用PySpark。他向数据科学家、数据工程师和精通数据的业务分析师讲授PySpark的用法。

  • 《Python和PySpark数据分析》有 14 章和 3 个附录,详细介绍了如何将PySpark 应用到日常的数据科学工作中。通过通俗易懂的示例,介绍了PySpark中的实用知识点和语法,使你能够轻松掌握PySpark的核心概念,并将其应用于实际工作中。在本书中,你将学习如何使用 PySpark 进行数据预处理、模型训练和评估等常见的数据科学任务。每个章节都以具体的示例和案例展示了 PySpark 在不同情景下的应用方法和技巧。通过实际操作,你将了解如何使用 PySpark 处理大规模数据集、构建复杂的数据处理流程以及应对常见的数据质量和性能挑战。

more >
  • 第1章  介绍 1

    1.1  什么是PySpark 1

    1.1.1  从头开始:什么是Spark 2

    1.1.2  PySpark = Spark + Python 3

    1.1.3  为什么选择PySpark 3

    1.2  PySpark的工作原理 5

    1.2.1  使用集群管理器进行物理规划 6

    1.2.2  懒惰的主管成就工厂的高效 8

    1.3  你将从本书学到什么 11

    1.4  我们将如何开始 12

    1.5  本章小结 13

    第Ⅰ部分  介绍:PySpark的第一步

    第2章  使用PySpark编写的第一个数据处理程序 17

    2.1  设置pyspark shell 18

    2.1.1  SparkSession入口点 20

    2.1.2  配置PySpark的日志级别 21

    2.2  映射程序 22

    2.3  采集和探索:为数据转换奠定基础 23

    2.3.1  用spark.read将数据读入数据帧 24

    2.3.2  从结构到内容:使用show()探索数据帧 27

    2.4  简单的列转换:将句子拆解为单词列表 29

    2.4.1  使用select()选择特定的列 30

    2.4.2  转换列:将字符串拆分为单词列表 31

    2.4.3  重命名列:alias和withColumnRenamed 33

    2.4.4  重塑数据:将list分解成行 34

    2.4.5  处理单词:更改大小写并删除标点符号 36

    2.5  筛选记录 38

    2.6  本章小结 40

    2.7  扩展练习 40

    第3章  提交并扩展你的第一...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘