企业大数据处理实战派——基于阿里云大数据平台
  • 推荐0
  • 收藏0
  • 浏览61

企业大数据处理实战派——基于阿里云大数据平台

赵渝强 (作者)  吴宏伟 (责任编辑)

  • 书  号:9787121460760
  • 出版日期:2023-09-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:博文小编
本书基于作者多年的教学与实践经验编写,重点介绍阿里云大数据体系的核心原理与架构,内容涉及开发、运维、管理与架构。全书分为4篇,共13章:第1篇(第1~2章)介绍大数据技术基础;第2篇(第3~8章)介绍阿里云大数据的离线计算服务;第3篇(第9~10章)介绍阿里云大数据的实时计算服务,包括消息队列Kafka版和实时计算Flink版;第4篇(第11~13章)介绍阿里云大数据增值服务——数加平台,包括阿里云大数据集成开发平台DataWorks、数据可视化分析平台Quick BI和机器学习平台PAI。
本书适合对大数据技术感兴趣的平台架构师、运维管理人员和项目开发人员阅读。
无论读者是否接触过大数据技术,只要具备基础的Linux知识和Java基础,就能够通过本书快速掌握阿里云大数据技术并增加实战经验。根据本书中的操作步骤,读者可以在实际的项目生产环境中快速应用并实施阿里云大数据平台技术。
企业自建大数据平台,时间成本和金钱成本都非常高,且有一定的风险。而租赁大数据平台可以帮助企业在业务层面快速实现扩展和缩小,而不用关心底层平台架构的实现和维护。对绝大部分的企业来说,租赁大数据平台可能会更加适合。租赁大数据平台可以提供更高的灵活性和数据安全性,并且企业不需要对日常的IT运维和管理操太多的心。
赵渝强,近20年IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问,华为认证讲师。曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大数据、数据库、中间件技术和Java技术。
随着信息技术的不断发展,数据量呈爆炸式增长。为了实现对大数据的高效存储与管理和快速分析与计算,出现了以Hadoop、Spark和Flink为代表的大数据平台生态圈体系。“得数据者得天下”,随着数据量的不断增长,大数据生态圈体系也不断地发展。在众多的大数据平台中,阿里云大数据平台解决了超大规模多场景融合下,用户多元化数据的计算需求问题,实现了存储、调度、元数据管理的一体化架构融合,支撑交通、金融、科研、政企等场景下数据的高效处理,是国内自主研发、应用非常广泛的一体化大数据平台。
作者拥有大数据平台方向多年的教学经验,并在实际的大数据运维和开发工作中积累了大量的实战经验,因此想编写一本系统介绍阿里云大数据生态圈体系的书籍,力求能够完整地介绍阿里云大数据平台。本书总结了作者在大数据平台方面的经验,希望本书对大数据平台方向的从业者和学习者有所帮助,为大数据生态圈体系在国内的发展贡献一份力量。相信通过本书的介绍,读者能够全面并系统地掌握大数据平台的知识,并且能够在实际工作中灵活地运用。
1. 本书特色
本书聚焦阿里云大数据平台技术,全面、深入地讲解了与大数据平台技术相关的知识,并辅以实战。本书有如下特色。
1)一线技术,系统全面
本书全面介绍了阿里云大数据平台体系的组成部分,包含大数据平台技术涉及的方方面面,力求覆盖阿里云大数据平台的核心内容。
2)精雕细琢,可读性强
本书采用通俗易懂的语言,并经过多次打磨,力求精确。同时注重前后章节的承上启下,让没有大数据方面经验的读者也可以很轻松地读懂本书。
3)从零开始,循序渐进
本书从最基础的内容开始讲解并逐步深入,先介绍大数据基础,然后全面、深入地介绍阿里云大数据平台体系,从而真正做到帮助读者从基础入门向开发高手迈进,让初级、中级、高级技术人员都可以从本书中学到干货。
4)深入原理,言简意赅
本书深入介绍了阿里云大数据平台的底层原理和机制,力求言简意赅,帮助读者提高学习效率,同时尽可能地帮助读者缩短阅读本书的时间。
5)由易到难,重点解析
本书编排由易到难,内容覆盖了阿里云大数据平台技术的各个方面。同时对重点和难点进行了详细讲解,对易错点和注意点进行了提示说明,帮助读者克服学习过程中的困难。
6)突出实战,注重效果
本书采用“理论讲解+动手实操”的方式,让读者在学习理论知识之后能够动手实操。购买本书的读者可以通过网络下载书中所有的相关资料,下载后即可运行,通过实践来加深理解。
7)实践方案,指导生产
本书以实践为主,所有的示例拿来即可运行。并且书中提供了大量的技术解决方案,可以为技术人员在实际的生产环境中提供相应的指导。
2. 阅读本书,读者能学到什么
 掌握大数据的理论基础;
 掌握阿里云大数据生态圈体系;
 掌握阿里云大数据技术的使用方法;
 掌握基于MaxCompute的大数据离线应用开发;
 掌握使用MaxCompute SQL处理结构化数据的方法;
 掌握MaxCompute的权限与安全机制;
 掌握使用消息队列Kafka版的方法;
 掌握使用消息队列Kafka版开发应用程序的方法;
 掌握使用实时计算Flink版的方法;
 掌握使用实时计算Flink版开发应用程序的方法;
 掌握使用阿里云大数据集成开发平台DataWorks的方法;
 掌握使用数据可视化分析平台Quick BI的方法;
 掌握使用机器学习平台PAI的方法。
3. 读者对象
本书既适合阿里云大数据平台技术的初学者阅读,也适合想进一步提升阿里云大数据平台技术的中高级技术人员阅读。相信不同级别的技术从业者都能从本书中学到干货。
本书的读者对象如下:
◎ 初学大数据技术的自学者; ◎ 培训机构的老师和学员; ◎ 测试工程师;
◎ 中高级技术人员; ◎ 相关专业的大学毕业生; ◎ 技术运维人员;
◎ 开发工程师; ◎ 高等院校的老师和学生; ◎ 技术管理人员;
◎ 大数据技术爱好者; ◎ 系统架构师; ◎ 技术经理。
本书涉及的所有代码和配置文件均可按照封底的“读者服务”中的方式下载。
尽管作者在本书写作过程中尽可能地追求严谨,但难免有疏漏之处,欢迎读者通过扫描下面的二维码关注微信公众号“IT阅读会”或加入读者微信群,进行批评与指正。

目录

第1篇 大数据技术基础
第1章 大数据核心理论基础与架构 2
1.1 什么是大数据 2
1.1.1 大数据的基本概念和特性 2
1.1.2 大数据平台的核心问题——存储与计算 4
1.2 大数据的理论基础 6
1.2.1 大数据的分布式存储 6
1.2.2 大数据的分布式计算 9
1.3 大数据技术与数据仓库 12
1.3.1 什么是数据仓库 12
1.3.2 基于大数据技术实现的数据仓库 13
1.4 基于开源大数据组件的大数据平台架构 15
1.4.1 数据源层 16
1.4.2 数据采集层 16
1.4.3 大数据平台层 16
1.4.4 数据仓库层 17
1.4.5 应用层 17
1.5 自建大数据平台与租赁大数据平台 17
1.5.1 为什么推荐使用租赁的大数据平台 17
1.5.2 为什么选择阿里云大数据平台 18
1.6 阿里云大数据生态圈体系 18
1.6.1 阿里云大数据基础组件 19
1.6.2 基于阿里云大数据基础组件的数加平台 24
第2章 阿里云大数据技术基础——开源大数据技术生态圈 27
2.1 开源大数据技术生态圈简介 27
2.1.1 面向离线数据的存储计算引擎Hadoop生态圈体系及其组件 27
2.1.2 面向批处理的大数据计算引擎Spark生态圈体系及其组件 29
2.1.3 面向流处理的大数据计算引擎Flink生态圈体系及其组件 30
2.2 面向离线数据的存储计算引擎Hadoop快速上手 32
2.2.1 【实战】部署Hadoop集群 33
2.2.2 【实战】使用Hadoop文件系统HDFS存储数据 38
2.2.3 【实战】使用Hadoop离线计算引擎MapReduce处理数据 46
2.3 面向批处理的大数据计算引擎Spark快速上手 49
2.3.1 【实战】部署Spark集群 49
2.3.2 【实战】执行Spark离线计算任务 51
2.3.3 【实战】执行Spark实时计算任务 57
2.3.4 【实战】使用Spark SQL处理结构化数据 60
2.4 面向流处理的大数据计算引擎Flink快速上手 61
2.4.1 【实战】部署Flink集群 62
2.4.2 【实战】执行Flink离线计算任务 63
2.4.3 【实战】执行Flink实时计算任务 64
2.4.4 【实战】使用Flink SQL处理结构化数据 66
2.5 大数据体系的单点故障问题 66
第2篇 阿里云大数据的离线计算服务
第3章 面向离线数据存储与计算的MaxCompute基础 70
3.1 MaxCompute简介 70
3.1.1 什么是MaxCompute 70
3.1.2 MaxCompute的特点 71
3.2 初识MaxCompute 71
3.2.1 MaxCompute的架构 71
3.2.2 MaxCompute的核心概念 74
3.2.3 MaxCompute的数据类型 76
3.3 使用MaxCompute的准备工作 78
3.3.1 【实战】创建阿里云账号 79
3.3.2 【实战】开通MaxCompute服务 82
3.3.3 【实战】创建项目 83
3.3.4 配置MaxCompute客户端 85
3.4 MaxCompute快速上手 93
3.4.1 【实战】使用命令行客户端 93
3.4.2 【实战】执行MapReduce任务 99
3.4.3 【实战】执行Spark任务 101
3.5 基于Tunnel的数据上传与下载 102
3.5.1 Tunnel简介 102
3.5.2 【实战】使用Tunnel的命令行工具 103
3.5.3 【实战】使用Tunnel的SDK 107
第4章 处理结构化数据——基于MaxCompute SQL 112
4.1 MaxCompute SQL简介 112
4.1.1 MaxCompute SQL与其他SQL的差异 112
4.1.2 MaxCompute SQL的数据类型 114
4.1.3 MaxCompute SQL的数据类型转换 115
4.2 使用MaxCompute SQL 119
4.2.1 【实战】使用DDL语句 119
4.2.2 【实战】使用DML语句 135
4.2.3 【实战】使用DQL语句 140
4.2.4 【实战】使用MaxCompute SQL的增强语法CTE 143
4.3 使用MaxCompute SQL的内建函数 145
4.3.1 【实战】日期函数 145
4.3.2 【实战】窗口函数 148
4.3.3 【实战】聚合函数 152
4.3.4 【实战】条件判断函数 152
4.3.5 数学函数和字符串函数 154
4.4 在MaxCompute中自定义SQL 155
4.4.1 【实战】UDF 155
4.4.2 【实战】UDT 157
4.4.3 UDJ 158
第5章 处理离线数据——基于MaxCompute MapReduce 159
5.1 MaxCompute MapReduce简介 159
5.1.1 MaxCompute MapReduce的处理流程 159
5.1.2 MaxCompute MapReduce的使用限制 160
5.2 开发WordCount单词计数程序 161
5.2.1 WordCount数据处理的流程 162
5.2.2 MaxCompute MapReduce的编程接口 163
5.2.3 【实战】开发WordCount程序 166
5.3 MaxCompute MapReduce的高级特性 169
5.3.1 【实战】实现数据排序 170
5.3.2 【实战】实现数据二次排序 173
5.3.3 【实战】使用过滤模式MapOnly 177
5.3.4 【实战】使用Join实现多表连接 179
5.3.5 【实战】使用计数器Counter 183
5.3.6 【实战】使用Unique实现数据去重 187
5.3.7 【实战】使用项目空间资源 193
第6章 处理离线数据——基于MaxCompute Spark 196
6.1 MaxCompute Spark基础 196
6.1.1 MaxCompute Spark的系统结构 196
6.1.2 MaxCompute Spark的使用限制 197
6.1.3 使用spark-shell 198
6.2 MaxCompute Spark的核心数据模型RDD 199
6.2.1 什么是RDD 200
6.2.2 熟悉RDD的算子 202
6.2.3 【实战】RDD的缓存机制 209
6.2.4 【实战】RDD的检查点机制 211
6.2.5 RDD的依赖关系和任务执行的阶段 212
6.3 在MaxCompute Spark中使用SQL处理数据 214
6.3.1 Spark SQL的特点 214
6.3.2 Spark SQL的数据模型 215
6.3.3 【实战】创建DataFrame 215
6.3.4 【实战】使用DataFrame处理数据 218
6.3.5 【实战】创建视图 220
6.4 【实战】MaxCompute Spark开发案例 222
6.4.1 开发Java版本的单词计数程序WordCount 222
6.4.2 开发Scala版本的单词计数程序WordCount 224
6.5 诊断MaxCompute Spark作业 225
6.5.1 使用Logview工具诊断作业 226
6.5.2 使用Spark Web UI诊断作业 227
第7章 处理图数据——基于MaxCompute Graph 229
7.1 MaxCompute Graph基础 229
7.1.1 MaxCompute Graph的基本概念 230
7.1.2 MaxCompute Graph的数据结构 230
7.1.3 MaxCompute Graph的程序逻辑 231
7.1.4 MaxCompute Graph的Aggregator机制 233
7.1.5 MaxCompute Graph的使用限制 236
7.2 使用MaxCompute Graph计算单源最短距离 236
7.2.1 单源最短距离算法简介 236
7.2.2 【实战】开发并运行单源最短距离算法程序 239
第8章 MaxCompute的权限与安全 245
8.1 MaxCompute的权限与安全简介 245
8.2 管理MaxCompute的用户 246
8.3 管理MaxCompute的权限 247
8.3.1 授权的三要素 248
8.3.2 项目空间内的权限 249
8.3.3 【实战】使用ACL授权 250
8.3.4 【实战】使用Policy授权 252
8.3.5 ACL授权与Policy授权的区别 256
8.4 管理MaxCompute的角色 257
8.4.1 角色的作用 257
8.4.2 内置角色和自定义角色 258
8.4.3 【实战】使用MaxCompute的角色 259
8.5 LabelSecurity 260
8.5.1 LabelSecurity简介 260
8.5.2 【实战】使用LabelSecurity 260
8.5.3 【实战】LabelSecurity的应用场景示例 264
8.6 使用Package实现跨项目空间的资源分享 265
8.6.1 什么是跨项目空间的资源分享 265
8.6.2 Package的创建与使用 266
8.6.3 【实战】Package的应用场景示例 268
8.7 项目空间的数据保护 270
8.7.1 MaxCompute的数据保护机制 271
8.7.2 数据保护机制下数据的流动 271
第3篇 阿里云大数据的实时计算服务
第9章 消息队列Kafka版 274
9.1 消息队列基础 274
9.1.1 消息队列概述 274
9.1.2 消息队列的分类 275
9.2 消息队列Kafka版的体系架构 278
9.2.1 消息服务器Broker 279
9.2.2 主题、分区与副本 279
9.2.3 消息的生产者 281
9.2.4 消息的消费者 283
9.3 快速上手消息队列Kafka版 285
9.3.1 快速入门操作流程 285
9.3.2 【实战】获取访问授权 286
9.3.3 【实战】购买和部署 287
9.3.4 【实战】创建资源 292
9.3.5 【实战】使用管理控制台收发消息 294
9.3.6 【实战】实例运行健康自检指南 296
9.4 消息队列Kafka版应用开发 298
9.4.1 【实战】开发基本的消息生产者与消费者 298
9.4.2 【实战】发送与接收自定义消息 304
第10章 实时计算Flink版 313
10.1 实时计算Flink版基础 313
10.1.1 什么是实时计算Flink版 313
10.1.2 实时计算Flink版的应用场景 314
10.1.3 【实战】快速上手实时计算Flink版 317
10.2 批处理开发——基于实时计算引擎Flink Dataset 325
10.2.1 【实战】使用map、flatMap与mapPartition算子 326
10.2.2 【实战】使用filter与distinct算子 330
10.2.3 【实战】使用join算子 331
10.2.4 【实战】使用cross算子 333
10.2.5 【实战】使用First-N算子 334
10.2.6 【实战】使用外连接操作 335
10.3 流处理开发——基于实时计算引擎Flink Datastream 338
10.3.1 【实战】开发单并行度的数据源 339
10.3.2 【实战】使用union算子 339
10.3.3 【实战】使用connect算子 341
10.4 SQL与Table开发——基于实时计算引擎Flink Table&SQL 342
10.4.1 【实战】开发Flink Table程序 343
10.4.2 【实战】开发Flink SQL程序 347
10.5 实时计算Flink版的高级特性 352
10.5.1 检查点设置 352
10.5.2 重启策略 354
10.5.3 分布式缓存 354
10.5.4 累加器 356
第4篇 阿里云大数据增值服务——数加平台
第11章 阿里云大数据集成开发平台DataWorks 362
11.1 DataWorks基础 362
11.1.1 DataWorks功能架构 362
11.1.2 DataWorks的基本概念 369
11.1.3 DataWorks中的角色 371
11.2 DataWorks中的数据集成 371
11.2.1 离线数据集成 372
11.2.2 实时数据集成 373
11.2.3 数据同步和数据同步作业 374
11.3 【实战】DataWorks项目开发案例 375
11.3.1 准备项目开发环境 375
11.3.2 准备测试数据 378
11.3.3 开发业务流程 384
11.3.4 提交业务流程 390
第12章 数据可视化分析平台Quick BI 393
12.1 Quick BI简介 393
12.1.1 什么是Quick BI 393
12.1.2 Quick BI的基本对象 394
12.1.3 Quick BI的体系架构 397
12.1.4 Quick BI的应用场景 399
12.2 【实战】使用数据可视化分析平台Quick BI 400
12.2.1 项目背景与需求 400
12.2.2 连接数据源 400
12.2.3 数据建模 402
12.2.4 数据可视化分析 405
12.2.5 发布共享仪表板 414
第13章 机器学习平台PAI 416
13.1 机器学习基础知识 416
13.1.1 什么是机器学习 416
13.1.2 机器学习的常见算法 417
13.2 机器学习平台PAI基础知识 417
13.2.1 初识机器学习平台PAI 417
13.2.2 PAI的架构 418
13.2.3 PAI的功能特性 419
13.2.4 PAI的基本概念 419
13.3 使用机器学习平台PAI实现智能推荐 421
13.3.1 使用协同过滤算法实现商品推荐 421
13.3.2 使用ALS算法实现商品推荐 427

读者评论