您好,欢迎来到聚文网。 登录 免费注册
Spark海量数据处理 技术详解与平台实战

Spark海量数据处理 技术详解与平台实战

  • 字数: 576千字
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: 范东来
  • 出版日期: 2019-12-01
  • 商品条码: 9787115507006
  • 版次: 1
  • 开本: 16开
  • 页数: 388
  • 出版年份: 2019
定价:¥99 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
  
内容简介
本书基于Spark发行版2.4.4写作而成,包含大量的实例与一个完整项目,层次分明,循序渐进。全书分为3部分,涵盖了技术理论与实战,读者可以从实战中巩固学习到的知识。第一部分主要围绕BDAS(伯克利数据分析栈),不仅介绍了如何开发Spark应用的基础内容,还介绍了Structured Streaming、Spark机器学习、Spark图挖掘、Spark深度学习等高级主题,此外还介绍了Alluxio系统。第二部分实现了一个企业背景调查系统,比较新颖的是,该系统借鉴了数据湖与Lambda架构的思想,涵盖了批处理、流处理应用开发,并加入了一些开源组件来满足需求,既是对本书第一部分很好的巩固,又完整呈现了一个实时大数据应用的开发过程。第三部分是对全书的总结和展望。本书适合准备学习Spark的开发人员和数据分析师,以及准备将Spark应用到实际项目中的开发人员和管理人员阅读,也适合计算机相关专业的高年级本科生和研究生学习和参考,对于具有一定的Spark使用经验并想进一步提升的数据科学从业者也是很好的参考资料。
作者简介
范东来,北京航空航天大学硕士,泛山科技联合创始人,Spark Contributor、SupersetContributor,架构师,技术图书作者和译者,著有《Hadoop海量数据处理》,译有《解读NoSQL》《NoSQL权威指南》《神经网络算法和实现》《Hadoop深度学习》《精通数据科学算法》等,另译有畅销小说《巧克力时代:因为这是我的血脉》。
目录
第一部分 基础篇
第1章 序篇2
1.1Spark与BDAS3
1.2Databricks4
1.3如何通过GitHub向Spark贡献代码5
1.4如何选择Spark编程语言8
1.5函数式编程思想9
1.6小结12
第2章 Spark编程13
2.1Spark架构13
2.2Spark 2.x与Spark 3.x15
2.2.1Tungsten项目16
2.2.2统一Dataset和DataFrame 接口20
2.2.3新一代流处理技术:Structured Streaming与持续型应用21
2.2.4Hydrogen项目和Spark 3.x22
2.3部署Spark26
2.3.1Spark on YARN27
2.3.2Spark on Mesos28
2.3.3Spark Standalone29
2.3.4Spark on Kubernetes30
2.3.5安装Spark31
2.3.6提交作业31
2.3.7Spark Shell33
2.3.8初始化SparkSession34
2.4RDD与算子34
2.4.1RDD34
2.4.2创建RDD36
2.4.3转换算子38
2.4.4行动算子43
2.4.5RDD血统与Spark容错45
2.5Spark Shuffle47
2.5.1Hash Shuffle47
2.5.2Sort-based Shuffle49
2.6共享变量50
2.6.1广播变量50
2.6.2累加器53
2.7Spark的多语言支持55
2.7.1PySpark55
2.7.2SparkR56
2.8Spark性能调优56
2.8.1硬件配置与资源管理平台57
2.8.2参数调优与应用调优57
2.9使用Jupyter Notebook基于Spark探索数据:蒙特卡罗方法预测股票价格64
2.9.1Jupyter Notebook64
2.9.2用蒙特卡罗方法预测股票价格67
2.10小结70
第3章Spark统一编程接口:DataFrame、Dataset和Spark SQL71
3.1Catalyst优化器72
3.1.1SQL抽象语法树72
3.1.2从ULEP到RLEP的过程73
3.1.3调优RLEP73
3.1.4全阶段代码生成74
3.2DataFrame API75
3.2.1创建DataFrame75
3.2.2查询77
3.2.3窗口函数80
3.2.4用户自定义函数83
3.2.5写入85
3.3Dataset API86
3.3.1RDD、DataFrame和Dataset87
3.3.2安全类型的UDAF88
3.4Spark SQL89
3.4.1创建临时视图90
3.4.2使用Hive元数据90
3.4.3查询语句91
3.4.4函数94
3.4.5用户自定义函数97
3.5Google Dremel与列式存储97
3.5.1Apache Parquet99
3.5.2Apache ORC100
3.5.3Apache CarbonData100
3.5.4对比测试101
3.6使用Spark SQL进行数据探索102
3.7小结107
第4章Spark流处理:Spark Streaming
与StructuredStreaming108
4.1一个Spark Streaming流处理的例子109
4.2消息送达保证110
4.3Google MillWheel系统和Google Dataflow模型114
4.3.1Google MillWheel设计思想114
4.3.2Google MillWheel如何实现“恰好一次”消息送达语义114
4.3.3Google MillWheel对乱序数据与晚到数据的处理115
4.3.4Google Dataflow:流处理和批处理的统一与取舍117
4.4Spark Streaming122
4.4.1关键抽象与架构123
4.4.2无状态的转换算子125
4.4.3有状态的转换算子129
4.4.4输入与输出134
4.4.5Spark Streaming与Spark SQL138
4.4.6容错与结果正确性139
4.4.7性能调优141
4.5Structured Streaming144
4.5.1关键抽象与架构144
4.5.2操作147
4.5.3输入和输出154
4.5.4股票交易价格实时分析157
4.6流处理技术对比162
4.7小结163
第5章Spark图计算:GraphX164
5.1图模式164
5.1.1图结构164
5.1.2图存储165
5.1.3图数据库168
5.1.4图挖掘技术169
5.1.5属性图与RDF170
5.2生成图171
5.2.1从已有数据中生成172
5.2.2通过GraphGenerators生成174
5.3图算子175
5.3.1属性算子175
5.3.2结构算子175
5.3.3连接算子175
5.3.4aggregateMessages176
5.4Pregel API177
5.4.1图分区177
5.4.2像顶点一样思考180
5.4.3用户自定义函数182
5.4.4PageRank的GraphX实现183
5.4.5标签传播算法186
5.5SQL on Graph187
5.5.1生成图188
5.5.2SQL查询189
5.5.3模式发现190
5.5.4一些GraphX已经有的算法191
5.5.5一些GraphX没有的算法191
5.5.6AggregateMessages192
5.6n度邻居顶点算法193
5.7小结196
第6章Spark机器学习:MLlib197
6.1机器学习197
6.1.1典型的机器学习工作流198
6.1.2机器学习任务的学习类型199
6.2Spark MLlib与Spark ML201
6.3数据预处理205
6.3.1数据标准化205
6.3.2缺失值处理207
6.3.3特征抽取208
6.3.4特征选择212
6.4分类算法应用214
6.4.1决策树214
6.4.2随机森林217
6.4.3人体状态监测器218
6.4.4集成学习223
6.4.5梯度提升决策树224
6.5聚类算法应用225
6.5.1物以类聚225
6.5.2k均值聚类算法226
6.5.3实现227
6.6推荐系统应用230
6.6.1基于用户的协同过滤231
6.6.2基于商品的协同过滤233
6.6.3两种协同过滤的对比235
6.6.4基于模型的协同过滤236
6.6.5Movielens电影推荐系统237
6.7训练之后238
6.7.1模型评估239
6.7.2交叉验证与超参调优241
6.8流式机器学习242
6.8.1流回归242
6.8.2流聚类244
6.8.3用流处理应用来监控模型245
6.9小结249
第7章Spark深度学习:Deeplearning4j250
7.1常见的深度学习框架251
7.2Deeplearning4j252
7.3卷积神经网络252
7.3.1理解卷积神经网络252
7.3.2用Deeplearning4j训练卷积神经网络254
7.4循环神经网络257
7.4.1理解循环神经网络258
7.4.2用Deeplearning4j训练循环神经网络262
7.5自动编码器264
7.5.1理解自动编码器264
7.5.2用Deeplearning4j训练自动编码器267
7.6使用GPU269
7.7小结270
第8章分布式存储:Alluxio271
8.1Alluxio架构271
8.1.1Alluxio的组成部分273
8.1.2虚拟的Alluxio273
8.1.3统一而透明的命名空间274
8.2快速上手Alluxio275
8.2.1安装Alluxio275
8.2.2Alluxio配置276
8.2.3Alluxio血统机制277
8.3与上层框架集成277
8.3.1与Spark集成278
8.3.2与Presto集成279
8.3.3与HBase集成280
8.4与底层存储系统集成281
8.4.1与Ceph集成281
8.4.2挂载其他文件系统281
8.5如何访问Alluxio282
8.6Alluxio应用案例283
8.6.1携程网283
8.6.2滴滴出行284
8.6.3陌陌286
8.7小结288
第二部分应用篇
第9章企业数据湖与Lambda架构290
9.1数据湖290
9.1.1数据的湖泊290
9.1.2数据湖要解决的问题291
9.1.3数据湖与数据仓库对比292
9.1.4数据湖如何工作293
9.2Lambda架构293
9.2.1批处理层294
9.2.2服务层295
9.2.3速度层295
9.2.4Lambda架构296
9.2.5Lambda架构的原则297
9.3基于Lambda架构的数据湖分层设计297
9.3.1数据获取层298
9.3.2消息层299
9.3.3数据摄取层300
9.3.4数据存储层300
9.3.5Lambda层301
9.4Lambda架构的应用301
9.4.1搜索引擎301
9.4.2Druid302
9.5构建Lambda架构的技术303
9.6小结304
第10章 大数据企业动态背景调查平台305
10.1企业背景调查305
10.2基于大数据的企业动态背景调查308
10.2.1企业行为信息308
10.2.2企业关联方分析311
10.3数据采集与数据字典313
10.4企业背景调查平台需求317
10.4.1企业关联图谱展示317
10.4.2企业风险指标计算318
10.5企业关联图谱的模式318
10.6传统数据仓库架构320
10.7小结321
第11章 平台设计322
11.1平台架构322
11.1.1数据源323
11.1.2数据管道323
11.1.3速度层325
11.1.4批处理层325
11.1.5服务层325
11.1.6查询层325
11.1.7可视化组件325
11.2物理拓扑326
11.3服务层图数据库设计326
11.4项目规划327
11.5小结327
第12章 数据管道层328
12.1安装并配置canal328
12.2实现Kafka生产者330
12.3安装并配置Flume335
12.4小结336
第13章 速度层337
13.1速度层输入337
13.1.1类型1338
13.1.2类型2338
13.1.3类型3339
13.1.4类型4340
13.2Cypher基础341
13.2.1写入342
13.2.2读取343
13.2.3删除344
13.3生成Cypher语句345
13.3.1类型1345
13.3.2类型2346
13.3.3类型3346
13.3.4类型4346
13.3.5实现347
13.4整合Structured Streaming352
13.4.1Neo4jWriter353
13.4.2启动流354
13.5小结355
第14章 批处理层356
14.1自融风险监测356
14.2生成主数据集357
14.2.1全量与增量358
14.2.2合并359
14.2.3数据治理361
14.3用GraphX计算企业自融风险值363
14.4导入HBase364
14.5调度中心366
14.5.1Airflow366
14.5.2配置368
14.6小结370
第15章 服务层与查询层371
15.1不仅仅是合并371
15.1.1NetworkX372
15.1.2计算流程372
15.2接口开发372
15.3小结376
第三部分总结篇
第16章 总结和展望378
16.1统一的大数据处理接口378
16.1.1Unified Spark378
16.1.2Apache Beam379
16.2Kappa架构380
16.3大数据处理技术382
16.3.1Apache Flink382
16.3.2Apache Apex383
16.3.3Ray384
16.4Spark未来发展方向386

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网