您好,欢迎光临有路网!
Spark大数据算法
QQ咨询:
有路璐璐:

Spark大数据算法

  • 作者:(美)Mahmoud Parsian(马哈默德 帕瑞斯安)
  • 出版社:中国电力出版社
  • ISBN:9787519887728
  • 出版日期:2024年05月01日
  • 页数:504
  • 定价:¥148.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

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

    图书详情

    内容提要
    利用这本书,你将学习以下内容:了解如何选择Spark转换实现优化的解决方案。探索强大的转换和归约,包括reduceByKey()、combineByKey()和mapPartitions()。理解数据分区以实现优化查询。使用PySpark设计模式构建和应用模型。对图数据应用motif查找算法。使用GraphFrames API分析图数据。对临床医学和基因组数据应用PySpark算法。学习如何在ML算法中使用和应用特征工程。了解并使用实用的数据设计模式。
    目录
    目录 序 1 前言 3 第I 部分 基础知识 第1 章 Spark 和PySpark 简介 13 1.1 为什么使用Spark 完成数据分析 14 1.1.1 Spark 生态系统 17 1.1.2 Spark 架构 18 1.2 PySpark 的能力 .25 1.3 Spark 数据抽象 30 1.3.1 RDD 示例 31 1.3.2 Spark RDD 操作 32 1.3.3 DataFrame 示例 36 1.4 使用PySpark Shell 38 1.4.1 启动PySpark Shell .40 1.4.2 由集合创建RDD .41 1.4.3 聚合和合并键的值 .41 1.4.4 过滤RDD 的元素 43 1.4.5 对类似的键分组 44 1.4.6 聚合类似键的值 45 1.5 使用DataFrame 的ETL 示例 .46 1.5.1 抽取 47 1.5.2 转换 48 1.5.3 加载 49 1.6 小结 .50 第2 章 转换实战 51 2.1 DNA 碱基计数示例 .52 2.1.1 DNA 碱基计数问题 55 2.1.2 FASTA 格式 55 2.1.3 示例数据 .56 2.2 DNA 碱基计数解决方案1 56 2.2.1 步骤1:由输入创建一个RDD[String] 57 2.2.2 步骤2:定义一个映射器函数59 2.2.3 步骤3:得出DNA 字母频度 62 2.2.4 解决方案1 的优缺点.64 2.3 DNA 碱基计数解决方案2 65 2.3.1 步骤1:由输入创建一个RDD[String] 67 2.3.2 步��2:定义一个映射器函数67 2.3.3 步骤3:得出DNA 字母频度 69 2.3.4 解决方案2 的优缺点.70 2.4 DNA 碱基计数解决方案3 71 2.4.1 mapPartitions() 转换 71 2.4.2 步骤1:由输入创建一个RDD[String] 79 2.4.3 步骤2:定义函数处理一个分区 .79 2.4.4 步骤3:对各个分区应用自定义函数 82 2.4.5 解决方案3 的优缺点.84 2.5 小结 .84 第3 章 映射器转换 87 3.1 数据抽象和映射器 87 3.2 转换是什么? .89 3.2.1 懒转换 94 3.2.2 map() 转换 96 3.2.3 DataFrame 映射器 102 3.3 flatMap() 转换 .105 3.3.1 map() 与flatMap() 111 3.3.2 对DataFrame 应用flatMap() 111 3.4 mapValues() 转换 115 3.5 flatMapValues() 转换 116 3.6 mapPartitions() 转换 . 118 3.6.1 处理空分区 .121 3.6.2 优缺点 125 3.6.3 DataFrame 和mapPartitions() 转换 .126 3.7 小结 129 第4 章 Spark 中的归约 131 4.1 创建(键,值)对RDD .132 4.2 归约转换.134 4.3 Spark 的归约 136 4.4 简单热身示例 139 4.4.1 使用reduceByKey() 的解决方案 140 4.4.2 使用groupByKey() 的解决方案 141 4.4.3 使用aggregateByKey() 的解决方案 142 4.4.4 使用combineByKey() 的解决方案 143 4.5 什么是Monoid ? 144 4.6 电影问题.149 4.6.1 要分析的输入数据集152 4.6.2 aggregateByKey() 转换 .153 4.6.3 使用aggregateByKey() 的**个解决方案 .154 4.6.4 使用aggregateByKey() 的第二个解决方案 .159 4.6.5 使用groupByKey() 的完整PySpark 解决方案 161 4.6.6 使用reduceByKey() 的完整PySpark 解决方案 164 4.6.7 使用combineByKey() 的完整PySpark 解决方案 167 4.7 归约中的洗牌步骤 .170 4.7.1 groupByKey() 的洗牌步骤 172 4.7.2 reduceByKey() 的洗牌步骤 .173 4.8 小结 174 第II 部分 处理数据 第5 章 数据分区 . 179 5.1 分区简介.180 5.2 管理分区.185 5.2.1 默认分区 186 5.2.2 显式分区 187 5.3 为SQL 查询完成物理分区 188 5.4 Spark 中的数据物理分区 192 5.4.1 分区为文本格式 192 5.4.2 分区为Parquet 格式 193 5.5 如何查询分区数据 .194 5.6 小结 196 第6 章 图算法 . 199 6.1 图介绍 .200 6.2 GraphFrames API 202 6.2.1 如何使用GraphFrames .203 6.2.2 GraphFrames 函数和属性 .207 6.3 GraphFrames 算法 .207 6.3.1 查找三角形 .208 6.3.2 Motif 查找 212 6.4 实际示例.222 6.4.1 基因分析 223 6.4.2 社交** 224 6.4.3 Facebook 朋友圈 229 6.4.4 连通分量 234 6.4.5 分析航班数据 .236 6.5 小结 246 第7 章 与外部数据源交互 247 7.1 关系数据库 248 7.1.1 读取数据库 .249 7.1.2 将DataFrame 写入数据库 258 7.2 读取文本文件 263 7.3 读写CSV 文件 265 7.3.1 读CSV 文件 266 7.3.2 写CSV 文件 270 7.4 读写JSON 文件 272 7.4.1 读JSON 文件 .272 7.4.2 写JSON 文件 .274 7.5 读写Amazon S3 .275 7.5.1 从Amazon S3 读取 .277 7.5.2 写入Amazon S3 278 7.6 读写Hadoop 文件 280 7.6.1 读Hadoop 文本文件 281 7.6.2 写Hadoop 文本文件 284 7.6.3 读写HDFS SequenceFile .287 7.7 读写Parquet 文件 288 7.7.1 写Parquet 文件 .289 7.7.2 读Parquet 文件 .291 7.8 读写Avro 文件 292 7.8.1 读Avro 文件 292 7.8.2 写Avro 文件 293 7.9 读写MS SQL Server .294 7.9.1 写MS SQL Server 294 7.9.2 读MS SQL Server 295 7.10 读取图像文件 295 7.11 小结 297 第8 章 排名算法 . 299 8.1 秩序乘积.300 8.1.1 计算秩序乘积 .301 8.1.2 秩序乘积描述 .301 8.1.3 秩序乘积示例 .302 8.1.4 PySpark 解决方案 304 8.2 PageRank 310 8.2.1 PageRank 的迭代计算 313 8.2.2 使用RDD 的自定义PySpark PageRank 算法实现 315 8.2.3 使用邻接矩阵的自定义PySpark PageRank 算法实现 318 8.2.4 使用GraphFrames 实现的PageRank 321 8.3 小结 322 第III 部分 数据设计模式 第9 章 经典数据设计模式 327 9.1 输入?C 映射?C 输出 .328 9.1.1 RDD 解决方案 329 9.1.2 DataFrame 解决方案 332 9.1.3 扁平映射器功能 334 9.2 输入?C 过滤?C 输出 .336 9.2.1 RDD 解决方案 337 9.2.2 DataFrame 解决方案 337 9.2.3 DataFrame 过滤器 338 9.3 输入?C 映射?C 归约?C 输出 .340 9.3.1 RDD 解决方案 340 9.3.2 DataFrame 解决方案 344 9.4 输入?C 多重?C 映射?C 归约?C 输出 346 9.4.1 RDD 解决方案 348 9.4.2 DataFrame 解决方案 350 9.5 输入?C 映射?C 组合器?C 归约?C 输出351 9.6 输入?C 映射分区?C 归约?C 输出 355 9.7 倒排索引.359 9.7.1 问题陈述 360 9.7.2 输入 .360 9.7.3 输出 .360 9.7.4 PySpark 解决方案 361 9.8 小结 364 第10 章 实用数据设计模式 367 10.1 映射器内部组合 368 10.1.1 基本MapReduce 算法 .370 10.1.2 按记录映射器内部组合 372 10.1.3 按分区映射器内部组合 374 10.2 Top-10 377 10.2.1 Top-N 形式化描述 .380 10.2.2 PySpark 解决方案 .381 10.2.3 查找Bottom 10384 10.3 MinMax 385 10.3.1 解决方案1:传统MapReduce 385 10.3.2 解决方案2:排序 .386 10.3.3 解决方案 3:Spark 的mapPartitions() 386 10.4 复合模式和Monoid 390 10.4.1 Monoid 391 10.4.2 Monoid 和非Monoid 示例 395 10.4.3 非Monoid MapReduce 示例 .399 10.4.4 Monoid MapReduce 示例 401 10.4.5 Monoid 均值计算的PySpark 实现 403 10.4.6 函子和幺半群 406 10.4.7 幺半群使用小结 .408 10.5 分箱 408 10.6 排序 412 10.7 小结 413 第11 章 连接设计模式 . 415 11.1 连接操作介绍 415 11.2 MapReduce 中的连接 418 11.2.1 映射阶段 419 11.2.2 归约器阶段 420 11.2.3 PySpark 实现 421 11.3 使用RDD 的映射端连接 .422 11.4 使用DataFrame 的映射端连接 .427 11.4.1 步骤1:创建Airports 缓存 429 11.4.2 步骤2:创建Airlines 缓存 429 11.4.3 步骤3:创建事实表 .430 11.4.4 步骤4:应用映射端连接 431 11.5 使用Bloom 过滤器的**连接 431 11.5.1 Bloom 过滤器 432 11.5.2 一个简单的Bloom 过滤器示例 434 11.5.3 Python 中的Bloom 过滤器 435 11.5.4 PySpark 中使用Bloom 过滤器 435 11.6 小结 436 第12 章 PySpark 中的特征工程 439 12.1 特征工程介绍 441 12.2 增加新特征 .443 12.3 应用UDF .444 12.4 创建管道 444 12.5 二值化数据 .447 12.6 填充 449 12.7 分词 451 12.7.1 Tokenizer 452 12.7.2 RegexTokenizer 453 12.7.3 管道分词 453 12.8 标准化 454 12.9 归一化 457 12.9.1 使用管道缩放一列 459 12.9.2 在多列上使用 MinMaxScaler 460 12.9.3 使用Normalizer 归一化 .461 12.10 字符串索引 462 12.10.1 对单列应用StringIndexer463 12.10.2 对多列应用StringIndexer464 12.11 向量组合 464 12.12 分桶 .466 12.12.1 Bucketizer 467 12.12.2 QuantileDiscretizer .468 12.13 对数转换 469 12.14 独热编码 471 12.15 TF-IDF 477 12.16 FeatureHasher .482 12.17 SQLTransformer .483 12.18 小结 .484

    与描述相符

    100

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