PySpark实战指南:利用Python和Spark构建数据密集型应用并…|6877019

PySpark实战指南:利用Python和Spark构建数据密集型应用并…|6877019 pdf epub mobi txt 电子书 下载 2025

美 托马兹 卓巴斯Tomasz Drab 著,栾云杰 陈瑶 刘旭斌 译
图书标签:
  • PySpark
  • Spark
  • Python
  • 大数据
  • 数据分析
  • 数据挖掘
  • 数据工程
  • 机器学习
  • 数据处理
  • 分布式计算
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 互动出版网图书专营店
出版社: 机械工业出版社
ISBN:9787111582380
商品编码:20047031785
丛书名: 大数据技术丛书
出版时间:2017-11-01

具体描述

 书[0名0]:  PySpark实战指南:利用Python和Spark构建数据密集型应用并规模化部署|6877019
 图书定价:  49元
 图书作者:  (美)托马兹·卓巴斯(Tomasz Drabas);(美)丹尼·李(Denny Lee)
 出版社:  机械工业出版社
 出版日期:  2017/11/1 0:00:00
 ISBN号:  9787111582380
 开本:  16开
 页数:  0
 版次:  1-1
 作者简介
托马兹·卓巴斯(Tomasz Drabas)工作于微软,是一[0名0]数据科[0学0]家,现居住在西雅图地区。他拥有[0超0]过13年的数据分析和数据科[0学0]经验:在欧洲、澳[0大0]利亚和北美洲三[0大0]洲期间,工作[0领0]域遍及先进技术、航空、电信、金融和咨询。在澳[0大0]利亚期间,托马兹一直致力于运筹[0学0]博士[0学0]位,重点是航空业中的选择建模和收入管理应用。
在微软,托马兹每天都和[0大0]数据打交道,解决机器[0学0]习问题,如异常检测、流失预测和使用Spark的模式识别。
托马兹还撰写了《Practical Data Analysis Cookbook》,该书由Packt Publishing于2016年出版。
我要感谢我的家人Rachel、Skye 和Albert,你们是我生命中的挚爱,我很珍惜与你们度过的每一天!谢谢你们永远站在我身边,鼓励我一步步接近我的职业目标。另外,感谢所有的亲人们。
多年来,还有很多人影响了我,我得再写一本书来感谢他们。你们[0知0]道,我从心底谢谢你们!
不过,如果不是Czesia Wieruszewska,我不[0会0]得到博士[0学0]位。还有Krzys Krzysztoszek,你一直相信我!谢谢!
丹尼·李(Denny Lee)是微软Azure DocumentDB团队的[0首0]席项目经理,该团队致力于为微软发展高效性、重量级的托管文档存储服务。他是一[0名0]喜欢实践的分布式系统和数据科[0学0]工程师,拥有[0超0]过18年的互联网级别基础架构、数据平台和预测分析系统的开发经验,这些经验可用于内部部署和云环境。
他在组建新团队以及促进转型、改革方面拥有丰富的经验。在加入Azure DocumentDB团队之前,丹尼曾担任Databricks的技术传播专员,他从Apache Spark 0.5时就一直在使用Apache Spark。他还是Concur数据科[0学0]工程的高级总监,曾就职于构建了微软Windows和Azure服务(目前称为HDInsight)的Hadoop的孵化团队。丹尼还拥有俄勒冈州健康和科[0学0][0大0][0学0]的生物医[0学0]信息硕士[0学0]位,并在过去15年中为企业医疗保健客户构建和实施了强[0大0]的数据解决方案。
我要感谢我的好妻子Hua-Ping,还有我出色的女儿Isabella和S [a0m0a0] ntha。是你们让我保持清醒,帮我实现了梦寐以求的愿望!
 目录

译者序

前言
关于作者
[0第0]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[0优0]化器 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
[0第0]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(...)方[0法0] 21
2.5.2 .collect(...)方[0法0] 21
2.5.3 .reduce(...)方[0法0] 21
2.5.4 .count(...)方[0法0] 22
2.5.5 .saveAsTextFile(...)方[0法0] 22
2.5.6 .foreach(...)方[0法0] 23
2.6 小结 23
[0第0]3章 DataFrame 24
3.1 Python到RDD之间的通信 24
3.2 Catalyst[0优0]化器刷新 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
[0第0]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
[0第0]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 预测婴儿生存机[0会0] 71
5.5.1 MLlib中的逻辑回归 71
5.5.2 只选择可预测的特征 72
5.5.3 MLlib中的随机森林 73
5.6 小结 74
[0第0]6章 ML包介绍 75
6.1 包的概述 75
6.1.1 转换器 75
6.1.2 [0评0]估器 78
6.1.3 管道 80
6.2 使用ML预测婴儿生存几率 80
6.2.1 加载数据 80
6.2.2 创建转换器 81
6.2.3 创建一个[0评0]估器 82
6.2.4 创建一个管道 82
6.2.5 拟合模型 83
6.2.6 [0评0]估模型的性能 84
6.2.7 保存模型 84
6.3 [0超0]参调[0优0] 85
6.3.1 网格搜索[0法0] 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
[0第0]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 哪一班从西雅图出发的航班有可能出现重[0大0]延误 109
7.5.5 西雅图出发到哪个州的航班有可能出现重[0大0]延误 110
7.6 理解节点的度 110
7.7 确定[0大0]的中转机场 112
7.8 理解Motif 113
7.9 使用PageRank确定机场排[0名0] 114
7.10 确定受欢迎的直飞航班 115
7.11 使用广度[0优0]先搜索 116
7.12 使用D3将航班可视化 118
7.13 小结 119
[0第0]8章 TensorFrames 120
8.1 深度[0学0]习是什么 120
8.1.1 神经网络和深度[0学0]习的必要性 123
8.1.2 特征工程是什么 125
8.1.3 桥接数据和算[0法0] 125
8.2 TensorFlow是什么 127
8.2.1 安装PIP 129
8.2.2 安装TensorFlow 129
8.2.3 使用常量进行矩阵乘[0法0] 130
8.2.4 使用placeholder进行矩阵乘[0法0] 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
[0第0]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
[0第0]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
[0第0]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

《海量数据时代的利器:Spark与Python构建高性能数据应用之道》 在数据爆炸式增长的今天,如何高效地处理、分析和挖掘海量数据,已成为企业和开发者面临的严峻挑战。传统的单机处理方式早已力不从心,分布式计算框架应运而生,而Apache Spark凭借其卓越的性能、易用性和强大的生态系统,迅速成为业界翘楚。本书《海量数据时代的利器:Spark与Python构建高性能数据应用之道》旨在为您揭示Spark的强大魔力,并教授您如何巧妙运用Python这门通用、灵活的编程语言,结合Spark的分布式计算能力,构建出能够应对 PB 级乃至 EB 级数据挑战的高性能数据密集型应用。 本书并非一本简单的API手册,而是一次深入探索Spark底层机制、实战场景与优化策略的旅程。我们相信,真正掌握一项技术,不仅仅在于了解其表面的语法,更在于理解其设计理念、工作原理以及在复杂场景下的应用之道。因此,本书将带领您从 Spark 的核心概念入手,循序渐进地剖析其在分布式计算中的独特优势,并结合大量贴近实际需求的案例,展示如何将这些优势转化为解决真实世界数据问题的强大武器。 第一部分:Spark 核心理念与基础架构解析 本部分将为您奠定坚实的 Spark 理论基础。我们将从 Spark 的诞生背景出发,深入探讨其与 Hadoop MapReduce 的关键区别,重点阐述 Spark 如何通过内存计算、DAG 调度器、Catalyst 优化器等核心组件,实现比 MapReduce 快上百倍的执行效率。您将理解 Spark 的 RDD(弹性分布式数据集)、DataFrame 和 DataSet 的概念,它们是如何在分布式环境中表示和处理数据的,以及它们各自的优劣势和适用场景。 RDD:分布式数据集的基石。 我们将详细讲解 RDD 的惰性计算、容错机制、宽依赖与窄依赖等核心特性,并通过实际代码示例,展示如何创建 RDD、进行各种转换(如 `map`、`filter`、`flatMap`)和行动(如 `count`、`collect`、`reduce`)操作。 DataFrame 与 DataSet:结构化数据的革新。 随着 Spark 1.3 和 1.6 的发布,DataFrame 和 DataSet 逐渐成为处理结构化数据的首选。本书将重点解析 DataFrame 和 DataSet 的优势,包括其优化的内存表示、SQL 查询能力以及 Catalyst 优化器如何为其带来显著的性能提升。您将学习如何使用 Spark SQL 构建复杂的查询,如何进行 Schema 推断和手动指定,以及如何通过 `select`、`where`、`groupBy`、`join` 等操作进行数据转换和聚合。 Spark 核心架构:理解其运作机制。 我们将深入剖析 Spark 的 Master-Worker 架构,理解 Driver、Executor、Cluster Manager(Standalone, YARN, Mesos, Kubernetes)的角色和通信机制。您将了解 Spark 作业的提交、调度过程,以及 Task、Stage、Job 的概念,从而更好地理解 Spark 作业的执行流程和潜在的性能瓶颈。 第二部分:Python 与 Spark 的深度融合:开发实战 在掌握了 Spark 的核心理论后,本书将转向实战,重点展示如何利用 Python 这一强大的编程语言,结合 PySpark API,进行高效的数据应用开发。我们将涵盖从数据加载、清洗、转换、分析到模型训练的全流程。 数据加载与预处理:万丈高楼平地起。 您将学习如何使用 PySpark 加载各种格式的数据,包括 CSV、JSON、Parquet、ORC,以及如何连接到各种数据源,如 HDFS、S3、JDBC 数据库。我们将通过大量的代码示例,演示如何进行数据清洗,包括缺失值处理、异常值检测、数据类型转换、字符串操作、日期时间处理等。 数据转换与聚合:洞察数据价值。 本部分将深入讲解 PySpark 中丰富的数据转换操作,包括行级别的操作(`withColumn`、`selectExpr`)、列级别的操作、窗口函数的使用,以及如何进行复杂的数据聚合(`groupBy`、`agg`)。您将学习如何利用 UDF(用户定义函数)来扩展 Spark 的功能,以及如何优化 UDF 的性能。 Spark SQL:强大的声明式查询能力。 我们将详细介绍 Spark SQL 的强大之处,包括其与 DataFrame API 的无缝集成,如何使用 SQL 语句进行复杂的数据过滤、转换和聚合。您将学习如何注册临时视图,以及如何利用 Spark SQL 进行 ad-hoc 查询和数据探索。 机器学习与 Spark MLlib:赋能智能应用。 Spark MLlib 是 Spark 用于机器学习的库,它提供了丰富的数据预处理、特征工程、模型训练和评估的工具。本书将指导您如何利用 MLlib 进行监督学习(如线性回归、逻辑回归、决策树、随机森林、梯度提升树)、无监督学习(如 K-Means 聚类、PCA 降维)以及推荐系统。我们将重点关注如何将 Python 的数据科学生态(如 Pandas、NumPy、Scikit-learn)与 Spark MLlib 相结合,构建端到端的数据科学流水线。 流式数据处理:实时洞察。 随着实时数据处理需求的不断增长,Spark Streaming 和 Structured Streaming 已成为处理实时数据的利器。本书将深入讲解 Spark Streaming 的基本概念、DStream(Discretized Stream)的原理,以及如何构建实时数据处理应用。随后,我们将重点介绍 Structured Streaming,它提供了一个更简洁、更统一的 API,将批处理和流处理的概念融合在一起,极大地简化了流式数据应用的开发。您将学习如何处理来自 Kafka、Kinesis 等数据源的实时数据,并进行实时聚合、窗口计算等操作。 第三部分:Spark 性能调优与实践进阶 掌握了 Spark 的开发技巧后,如何让您的应用跑得更快、更稳定,就成为至关重要的议题。本部分将聚焦于 Spark 的性能调优和高级实践。 Spark 性能调优:解锁极致性能。 我们将深入探讨 Spark 性能调优的各个方面,包括 Shuffle 优化、内存管理、垃圾回收、数据分区、缓存策略、广播变量、累加器等。您将学习如何利用 Spark UI 来监控作业执行情况,识别性能瓶颈,并根据实际情况调整 Spark 的配置参数,以达到最佳的性能。 错误处理与故障排除:稳健应用之道。 在分布式系统中,错误和故障是不可避免的。本书将分享处理 Spark 作业中常见错误和异常的经验,以及如何进行有效的故障排除,确保您的数据应用能够健壮运行。 部署与集成:走向生产环境。 我们将探讨 Spark 在不同集群环境(Standalone、YARN、Kubernetes)下的部署和管理,以及如何将 Spark 应用与现有的数据管道进行集成,实现端到端的数据处理流程。 本书特色: 实战导向: 大量贴近实际业务场景的案例,涵盖数据清洗、ETL、BI 分析、机器学习、实时数据处理等多个领域。 代码驱动: 提供完整、可运行的 Python 代码示例,方便读者学习和实践。 深入浅出: 从基础概念到高级技巧,层层递进,帮助读者建立全面的 Spark 知识体系。 理论与实践结合: 在讲解 API 的同时,深入剖析其背后的原理,帮助读者知其然,更知其所以然。 关注最新技术: 包含对 Structured Streaming 等 Spark 生态中最新、最重要技术的介绍和实践。 无论您是初次接触 Spark 的数据工程师、数据科学家,还是希望提升 Spark 应用性能的资深开发者,本书都将是您在海量数据时代乘风破浪的得力助手。通过本书的学习,您将能够自信地利用 Python 和 Spark 构建出高性能、可扩展、稳定可靠的数据密集型应用,从而在数据驱动的浪潮中脱颖而出。现在,让我们一同踏上这段精彩的 Spark 之旅!

用户评价

评分

坦白说,我之前尝试过学习PySpark,但过程中遇到了不少困难。可能是因为找到的资料碎片化,或者讲解不够深入,导致我对一些核心概念理解得不够透彻,尤其是在理解Spark的分布式计算原理和内存管理方面。当我看到这本《PySpark实战指南》时,我非常期待它能够填补我在这方面的知识空白。我希望这本书能够从Spark的架构原理讲起,深入浅出地解释其背后的分布式计算模型,以及PySpark是如何与之协同工作的。同时,我也期望书中能够详细讲解Spark的各种优化技巧,比如如何合理地进行数据分区、如何选择合适的Shuffle策略,以及如何利用缓存来提升性能。我相信,只有真正理解了Spark的底层机制,才能更好地运用PySpark来解决实际问题,构建出性能卓越的应用。

评分

市面上的技术书籍种类繁多,但真正能够写出深度和广度的却不多。我对《PySpark实战指南》的期待,在于它能否真正做到“指南”二字,也就是能够带领读者从入门到精通,一步一步地掌握PySpark的各项技术。我希望书中能够涵盖PySpark的方方面面,从基础的数据结构和API,到高级的函数式编程范式,再到Spark SQL、Spark Streaming、MLlib等核心组件的应用。更重要的是,我希望书中能够提供一些“硬核”的实战案例,展示如何利用PySpark解决真实的业务问题,例如如何处理海量的用户行为数据,如何构建个性化推荐系统,或者如何进行大规模的A/B测试等。我希望通过这本书,能够真正提升我在大数据处理和分析方面的实战能力。

评分

我一直在寻找一本能够帮助我提升在大数据领域竞争力的书籍,而《PySpark实战指南》的书名,尤其是“构建数据密集型应用”这一部分,深深地吸引了我。我理解“数据密集型应用”不仅仅是简单的数据处理,更包含了对数据的高效存储、快速访问、复杂分析以及智能决策的支持。我希望这本书能够帮助我理解,如何利用PySpark将这些环节有机地结合起来,构建出真正具有业务价值的应用。我期待书中能够深入探讨性能优化、容错处理、以及与其他大数据组件(如Hadoop、Kafka等)的集成。我希望通过学习这本书,能够让我不仅能够编写PySpark代码,更能理解其背后的设计理念,从而能够设计和开发出更具扩展性、鲁棒性和高效率的数据密集型应用。

评分

我一直觉得,学习一门新技术,最重要的是能将其融会贯通,并运用到实际工作中去。这本《PySpark实战指南》的书名,恰恰点出了我最看重的一点——“实战”。我希望这本书不仅仅是停留在理论概念的讲解,而是能够通过大量的代码示例和案例分析,让我切实地感受到PySpark的强大之处。我尤其关心书中是否会涉及一些当下热门的数据处理场景,比如实时流处理、机器学习模型的训练和部署,以及数据仓库的构建等。我希望通过学习这本书,能够掌握如何利用PySpark高效地进行数据清洗、转换、分析和可视化,并最终能够基于这些处理结果,构建出具有实际业务价值的数据密集型应用。我期待书中能够提供一些行业内最佳实践的指导,让我少走弯路,更快地掌握PySpark的核心技术。

评分

这本书的封面设计让我印象深刻,那种简洁又不失专业感的风格,很容易吸引到对技术书籍有追求的读者。我一直对利用Python处理大规模数据充满兴趣,但苦于找不到一本既能系统介绍PySpark核心概念,又能提供贴近实际应用场景案例的教材。市面上很多书要么过于理论化,要么案例陈旧,无法跟上技术发展的步伐。当我看到这本书的标题时,我立刻被它“实战指南”和“数据密集型应用”这些关键词吸引了。我期待这本书能带领我一步步掌握PySpark,从基础知识的学习到复杂问题的解决,最终能够独立构建出高效的数据处理和分析应用。尤其是在大数据时代,数据的重要性不言而喻,而PySpark作为Spark的Python API,更是成为了许多数据工程师和数据科学家必备的技能。我希望这本书能成为我学习PySpark的得力助手,让我能够更好地应对工作中遇到的挑战,也能为我的职业发展添砖加瓦。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有