您好,欢迎光临有路网!
Spark快速大数据分析 第2版
QQ咨询:
有路璐璐:

Spark快速大数据分析 第2版

  • 作者:(美) 朱尔斯·S. 达米吉 (美) 布鲁克·韦尼希 (印) 泰瑟加塔·达斯 (
  • 出版社:人民邮电出版社
  • ISBN:9787115576019
  • 出版日期:2021年11月01日
  • 页数:314
  • 定价:¥119.80
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书的主角是在大数据时代应运而生的数据处理与分析利器——Spark。你将通过丰富的示例学习如何使用Spark的结构化数据API,利用Spark SQL进行交互式查询,掌握Spark应用的优化之道,用Spark和Delta Lake等开源工具构建可靠的数据湖,并用MLlib库实现机器学习流水线。随着Spark从2.x版本升级到3.0版本,本书第2版做了全面的更新,以体现Spark生态系统在机器学习、流处理技术等方面的发展,另新增一章详解Spark 3.0引入的新特性。
    目录
    译者序 xiii 对本书的赞誉 xv 序 .xvii 前言 xix 第 1章 Apache Spark简介:一站式分析引擎 1 1.1 Spark的起源 1 1.1.1 谷歌的大数据和分布式计算 1 1.1.2 雅虎的Hadoop 2 1.1.3 Spark在AMPLab崭露头角 3 1.2 什么是Spar 3 1.2.1 快速 4 1.2.2 易用 4 1.2.3 模块化 4 1.2.4 可扩展 5 1.3 一站式数据分析 5 1.3.1 由Spark组件组成的一站式软件栈 6 1.3.2 Spark的分布式执行 9 1.4 ***体��� 12 1.4.1 哪些人用Spark,用它做什么 13 1.4.2 社区接受度与社区发展 14 第 2 章 下载并开始使用Apache Spark 16 2.1 第 1 步:下载Spark 16 2.2 第 2 步:使用Scala shell 或PySpark shell 18 2.3 第3 步:理解Spark 应用的相关概念 22 2.3.1 Spark 应用与SparkSession 22 2.3.2 Spark 作业 23 2.3.3 Spark 执行阶段 23 2.3.4 Spark 任务 24 2.4 转化操作、行动操作以及惰性求值 24 2.5 Spark UI 26 2.6 第 一个独立应用 29 2.6.1 统计M&M 巧克力豆 29 2.6.2 用Scala 构建独立应用 34 2.7 小结 36 第3 章 Apache Spark 的结构化数据API 37 3.1 RDD 的背后是什么 37 3.2 Spark 支持结构化数据 38 3.3 DataFrame API 41 3.3.1 Spark 的基本数据类型 41 3.3.2 Spark 中结构化的复杂数据类型 42 3.3.3 表结构与DataFrame 43 3.3.4 列与表达式 47 3.3.5 行 49 3.3.6 常见的DataFrame 操作 50 3.3.7 完整的DataFrame 示例 59 3.4 Dataset API 60 3.4.1 有类型对象、无类型对象,以及普通行 61 3.4.2 创建Dataset 62 3.4.3 Dataset 操作 63 3.4.4 完整的Dataset 示例 65 3.5 对比DataFrame 和Dataset 65 3.6 Spark SQL 及其底层引擎 66 3.7 小结 71 第4 章 Spark SQL 与DataFrame:内建数据源概览 73 4.1 在Spark 应用中使用Spark SQL 74 4.2 SQL 表和视图 79 4.2.1 有管理表和无管理表 79 4.2.2 创建SQL 数据库和SQL 表 79 4.2.3 创建视图 80 4.2.4 查看元数据 82 4.2.5 缓存SQL 表 82 4.2.6 将表读取为DataFrame 82 4.3 DataFrame 和SQL 表的数据源 83 4.3.1 DataFrameReader 83 4.3.2 DataFrameWriter 85 4.3.3 Parquet 86 4.3.4 JSON 88 4.3.5 CSV 90 4.3.6 Avro 92 4.3.7 ORC 94 4.3.8 图像 96 4.3.9 二进制文件 97 4.4 小结 98 第5 章 Spark SQL 与DataFrame:读写外部数据源 100 5.1 Spark SQL 与Apache Hive 100 5.2 用Spark SQL shell、Beeline 和Tableau 查询 106 5.2.1 使用Spark SQL shell 106 5.2.2 使用Beeline 107 5.2.3 使用Tableau 108 5.3 外部数据源 114 5.3.1 JDBC 和SQL 数据库 114 5.3.2 PostgreSQL 115 5.3.3 MySQL 117 5.3.4 Azure Cosmos DB 118 5.3.5 MS SQL Server 120 5.3.6 其他外部数据源 121 5.4 DataFrame 和Spark SQL 的高阶函数 121 5.4.1 方式1:打散再重组 121 5.4.2 方式2:用户自定义函数 122 5.4.3 针对复杂数据类型的内建函数 122 5.4.4 高阶函数 124 5.5 常用的DataFrame 操作和Spark SQL 操作 127 5.5.1 联合 130 5.5.2 连接 130 5.5.3 窗口 131 5.5.4 修改 134 5.6 小结 137 第6 章 Spark SQL 与Dataset 138 6.1 Java 与Scala 共用一套API 138 6.2 操作Dataset 140 6.2.1 创建示例数据 141 6.2.2 转化示例数据 142 6.3 Dataset 与DataFrame 的内存管理 147 6.4 Dataset 编码器 147 6.4.1 Spark 内部格式与Java 对象格式 148 6.4.2 序列化与反序列化 148 6.5 使用Dataset 的开销 149 6.6 小结 151 第7 章 Spark 应用的优化与调优 152 7.1 为效率而优化与调优 152 7.1.1 查看与设置Spark 配置 152 7.1.2 为大型作业扩展Spark 155 7.2 数据的缓存与持久化 160 7.2.1 DataFrame.cache() 161 7.2.2 DataFrame.persist() 162 7.2.3 什么时候应该缓存和持久化 164 7.2.4 什么时候不应该缓存和持久化 164 7.3 Spark 的各种连接算法 164 7.3.1 广播哈希连接 165 7.3.2 混洗排序合并连接 166 7.4 查看Spark UI 173 7.5 小结 180 第8 章 结构化流处理 181 8.1 Spark 流处理引擎的演进过程 181 8.1.1 以微型批模拟的流处理 182 8.1.2 从DStream 获取的经验教训 183 8.1.3 Structured Streaming 的设计哲学 183 8.2 Structured Streaming 的编程模型 184 8.3 Structured Streaming 查询 186 8.3.1 五步定义流式查询 186 8.3.2 探究活跃的流式查询 191 8.3.3 失败恢复与“**一次”语义 192 8.3.4 监控活跃的查询 194 8.4 流式数据源与数据池 196 8.4.1 文件 197 8.4.2 Kafka 199 8.4.3 自定义流式数据源与数据池 200 8.5 数据转化 204 8.5.1 增量执行与流处理状态 204 8.5.2 无状态转化操作 204 8.5.3 有状态转化操作 205 8.6 有状态的流式聚合 207 8.6.1 不根据时间维度进行聚合 207 8.6.2 使用事件时间窗口进行聚合 208 8.7 流式连接 214 8.7.1 流与静态表连接 214 8.7.2 流与流连接 215 8.8 任意的有状态计算 220 8.8.1 用mapGroupsWithState() 为任意有状态操作建模 220 8.8.2 用超时管理不活跃的分组 223 8.8.3 用flatMapGroupsWithState() 进行通用操作 226 8.9 性能调优 227 8.10 小结 229 第9 章 用Apache Spark 构建可靠的数据湖 230 9.1 存储解决方案的重要特点 230 9.2 数据库 231 9.2.1 数据库简介 231 9.2.2 用Spark 读写数据库 232 9.2.3 数据库的不足之处 232 9.3 数据湖 233 9.3.1 数据湖简介 233 9.3.2 用Spark 读写数据湖 233 9.3.3 数据湖的不足之处 234 9.4 湖仓一体:下一代存储解决方案 235 9.4.1 Apache Hudi 236 9.4.2 Apache Iceberg 236 9.4.3 Delta Lake 236 9.5 用Spark 与Delta Lake 构建湖仓一体的系统 237 9.5.1 为使用Delta Lake 配置Spark 237 9.5.2 把数据加载到Delta Lake 表中 238 9.5.3 把数据流加载到Delta Lake 表中 240 9.5.4 写数据时强化表结构约束以防止数据损坏 241 9.5.5 修改表结构以适应数据变化 242 9.5.6 转化已有数据 242 9.5.7 根据操作历史审计数据变更 245 9.5.8 用时间旅行功能查询表以前的快照数据 245 9.6 小结 246 第 10 章 用MLlib 实现机器学习 247 10.1 什么是机器学习 247 10.1.1 监督学习 248 10.1.2 无监督学习 249 10.1.3 为什么将Spark 用于机器学习 250 10.2 设计机器学习流水线 251 10.2.1 接入并探索数据 251 10.2.2 创建训练集与测试集 252 10.2.3 为转化器准备特征 254 10.2.4 理解线性回归 255 10.2.5 用预估器构建模型 256 10.2.6 创建流水线 257 10.2.7 评估模型 262 10.2.8 保存和加载模型 266 10.3 超参数调优 266 10.3.1 基于树的模型 267 10.3.2 k 折交叉验证 274 10.3.3 优化流水线 277 10.4 小结 279 第 11 章 用Apache Spark管理、部署与伸缩机器学习流水线 280 11.1 模型管理 280 11.2 用MLlib 部署模型所用的选项 286 11.2.1 批处理 287 11.2.2 流处理 289 11.2.3 导出模型用于实时预测的模式 290 11.3 利用Spark 使用非MLlib 模型 291 11.3.1 Pandas UDF 291 11.3.2 将Spark 用于分布式超参数调优 293 11.4 小结 295 第 12 章 尾声:Apache Spark 3.0 296 12.1 Spark 内核与Spark SQL 296 12.1.1 动态分区裁剪 296 12.1.2 自适应查询执行 298 12.1.3 SQL 连接提示 301 12.1.4 Catalog 插件API 与DataSourceV2 302 12.1.5 可感知加速器的调度器 303 12.2 Structured Streaming 304 12.3 PySpark、Pandas UDF 和Pandas 函数API 306 12.3.1 重新设计的带有Python 类型提示的Pandas UDF 306 12.3.2 Pandas UDF 中的迭代器支持 307 12.3.3 新的Pandas 函数API 307 12.4 有改动的功能 308 12.4.1 支持的与不**使用的编程语言 309 12.4.2 DataFrame API 和Dataset API 的改动 309 12.4.3 DataFrame 与SQL 的explain 命令 309 12.5 小结 311 作者简介 313 封面简介 313

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外