• Spark大数据算法
21年品牌 40万+商家 超1.5亿件商品

Spark大数据算法

全新正版 极速发货

56.65 3.8折 148 全新

库存8件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)马哈默德·帕瑞斯安(MahmoudParsian)

出版社中国电力出版社

ISBN9787519887728

出版时间2024-05

装帧平装

开本16开

定价148元

货号1203279269

上书时间2024-07-11

谢岳书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
序 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 输入– 映射– 输出 .328

9.1.1 RDD 解决方案 329

9.1.2 DataFrame 解决方案 332

9.1.3 扁平映射器功能 334

9.2 输入– 过滤– 输出 .336

9.2.1 RDD 解决方案 337

9.2.2 DataFrame 解决方案 337

9.2.3 DataFrame 过滤器 338

9.3 输入– 映射– 归约– 输出 .340

9.3.1 RDD 解决方案 340

9.3.2 DataFrame 解决方案 344

9.4 输入– 多重– 映射– 归约– 输出 346

9.4.1 RDD 解决方案 348

9.4.2 DataFrame 解决方案 350

9.5 输入– 映射– 组合器– 归约– 输出351

9.6 输入– 映射分区– 归约– 输出 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

内容摘要
利用这本书,你将学习以下内容:了解如何选择Spark转换实现优化的解决方案。探索强大的转换和归约,包括reduceByKey()、combineByKey()和mapPartitions()。理解数据分区以实现优化查询。使用PySpark设计模式构建和应用模型。对图数据应用motif查找算法。使用GraphFrames API分析图数据。对临床医学和基因组数据应用PySpark算法。学习如何在ML算法中使用和应用特征工程。了解并使用实用的数据设计模式。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP