内 容 提 要
本书全面系统地介绍了大数据的测试技术与质量体系建设。本书共11章,第1~4章涵盖认识大数据,大数据技术生态,数据仓库的设计与构建,以及大数据项目开发流程;第5~7章讲解大数据测试方法、大数据测试实践和数据质量管理;第8~10章介绍大数据测试平台实践、数据治理平台建设,以及DataOps的理念与实践;第11章提供大数据测试学习路线。附录列出了大数据技术经典面试题。
本书适合想要了解大数据技术的读者,以及想要学习和掌握大数据测试与大数据开发的从业者。通过阅读本书,测试工程师可以系统地学习大数据技术基础、大数据开发和大数据测试等知识;大数据开发工程师可以借鉴大数据质量保障的方法,拓宽数据工程实践的思路;技术专家和技术管理者可以了解大数据质量保障体系、数据治理建设和DataOps实践等内容。
大数据测试实践秘籍
36位来自字节跳动、知乎、阿里、百度、腾讯、、奇虎360、小米、网易等大厂专业技术人员联袂推荐。
通俗易懂,精选22个大数据测试要点,从零入手,系统讲解大数据测试。
内容丰富,涵盖6大技术主题,大数据技术生态、数据仓库、大数据开发、大数据测试、数据治理、DataOps。
场景典型,详细解释3个主流数据应用场景问题,数据分析、数据挖掘、数据可视化。深度剖析BI报表、风控模型产品、用户行为分析平台的技术原理、工程架构,并输出了全链路的质量保障方案。
艾辉,中国人民大学概率论与数理统计专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360技术总监,主要负责AI风控产品、用户产品和基础架构的质量保障工作。曾在阿里本地生活担任高级技术经理,负责用户产品、新零售产品的质量保障工作。拥有9年多的测试开发工作经验,曾多次受邀在行业技术大会(如MTSC、GITC、Top100、TiD、A2M和TICA等)上做主题分享。对大数据、机器学习测试技术有深刻理解,并长期专注于质量保障与工程效能领域。
陈高飞,东北大学计算机技术专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360测试开发工程师,主要从事机器学习方向的测试开发工作。擅长白盒测试、大数据测试和模型测试,在工具平台开发方面有丰富的实践经验。
郝嵘,北京信息科技大学自动化专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360高级测试开发工程师,主要负责大数据方向的测试开发工作。擅长Python开发、大数据测试和机器学习测试,主导了多个工具平台的开发,在大数据质量保障方面有丰富的实践经验。
雷天鸣,哈尔滨理工大学计算机科学与技术专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360测试开发工程师,主要从事机器学习方向的测试开发工作。擅长大数据测试、特征测试和模型算法评测等,对金融风控业务有深刻理解。
李曼曼,融360高级测试开发工程师,《机器学习测试入门与实践》作者之一。拥有近11年的测试开发工作经验,主导了多个工具平台的开发和大型项目的测试工作。擅长白盒测试、性能测试、自动化测试、持续集成和工程效能,在大数据和特征模型测试方面有丰富的实践经验。
马绵,陕西科技大学网络工程专业学士,融360测试开发工程师。目前主要从事服务端测试开发工作,擅长自动化测试、安全测试,在服务稳定性保障方面有丰富的实践经验。
孙冰妍,东北大学通信与信息系统专业硕士,融360测试开发工程师。目前主要从事服务端测试开发工作,擅长白盒测试、自动化测试、性能测试、安全测试和持续集成。参与了多个工具平台的开发,并主导了多个大型项目的测试工作。对大数据测试技术有深刻理解。
孙金娟,山西财经大学计算机科学与技术专业学士,《机器学习测试入门与实践》作者之一。目前,担任融360测试开发工程师,有近9年的Java开发、测试开发工作经验。擅长大数据测试和工具平台开发,对机器学习、特征模型测试有深刻理解。
张咪,北京交通大学通信与信息系统专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360测试经理,主要负责用户产品的质量保障工作,曾负责基础架构、SRE(Site Reliability Engineering,网站可靠性工程)等方面的测试开发工作。在自动化测试、服务稳定性、专项测试和工程效能等方面有丰富的实践经验,曾受邀在行业技术大会(如MTSC、A2M等)做主题分享。对大数据、机器学习测试有深刻的理解,并在这些领域拥有丰富的实践经验。
张朋周,中国地质大学计算机科学与技术专业硕士,《机器学习测试入门与实践》作者之一。目前,担任融360高级测试开发工程师,曾在百度从事搜索业务测试开发,有近9年的开发测试工作经验。目前,主要负责机器学习方向的测试开发工作,主导了多个工具平台的开发,在数据质量保障、模型评估平台方面有丰富的实践经验。
目 录
第 1章 认识大数据/1
1.1 大数据概述/1
1.2 大数据的发展/2
1.3 大数据的应用/4
1.3.1 互联网领域/4
1.3.2 物流领域/5
1.3.3 教育领域/6
1.3.4 金融领域/7
1.3.5 电信领域/7
1.4 本章小结/8
第 2章 大数据技术生态/9
2.1 大数据技术生态总览/9
2.2 大数据采集技术/10
2.3 大数据存储技术/10
2.3.1 分布式文件系统:HDFS/10
2.3.2 海量数据列式存储: HBase/13
2.3.3 其他数据存储技术/18
2.4 大数据计算分析技术/19
2.4.1 批处理计算的基石:MapReduce/19
2.4.2 流计算的代表:Storm、Spark Streaming和Flink/21
2.4.3 OLAP引擎:Hive、Impala和Presto/24
2.5 大数据管理调度技术/30
2.5.1 分布式集群资源调度框架:YARN/30
2.5.2 容器集群管理系统:Kubernetes/32
2.5.3 大数据的"动物园管理员":ZooKeeper/33
2.5.4 常用的工作流调度平台:Azkaban、Oozie和Airflow/34
2.6 大数据商业产品/36
2.7 本章小结/38
第3章 数据仓库的设计与构建/39
3.1 数据仓库概述/39
3.1.1 什么是数据仓库/39
3.1.2 数据仓库的发展过程/41
3.1.3 数据仓库与数据集市、数据湖、数据中台的区别/43
3.2 数据仓库设计/44
3.2.1 架构分层设计/44
3.2.2 数据模型设计/46
3.3 数据仓库构建/50
3.3.1 数据仓库的构建方法与评价标准/50
3.3.2 数据仓库实例/51
3.4 本章小结/58
第4章 大数据项目开发流程/59
4.1 大数据项目开发概览/59
4.2 数据的采集与存储/60
4.2.1 服务端日志采集/61
4.2.2 客户端日志采集/62
4.2.3 数据同步/64
4.2.4 大数据存储/66
4.3 大数据计算/67
4.4 大数据监控/71
4.4.1 数据监控/71
4.4.2 运维监控/72
4.5 大数据项目开发案例/73
4.5.1 项目背景介绍/74
4.5.2 项目需求分析/74
4.5.3 项目开发流程/76
4.6 本章小结/83
第5章 大数据测试方法/84
5.1 大数据测试概述/84
5.1.1 什么是大数据测试/84
5.1.2 大数据测试与传统数据测试/84
5.2 大数据测试类型/85
5.2.1 功能测试/85
5.2.2 性能测试/89
5.2.3 其他非功能性测试/93
5.3 大数据测试流程/94
5.4 大数据基准测试/96
5.4.1 大数据基准测试简介/97
5.4.2 大数据基准测试的步骤/97
5.4.3 大数据基准测试工具/98
5.5 大数据ETL测试/100
5.5.1 大数据ETL测试类型/100
5.5.2 大数据ETL测试场景/103
5.5.3 大数据ETL测试工具/107
5.6 大数据测试总结/108
5.6.1 大数据测试中的典型问题/108
5.6.2 大数据测试经验总结/112
5.6.3 大数据测试面临的挑战/113
5.7 本章小结/113
第6章 大数据测试实践/114
6.1 BI报表测试/114
6.1.1 BI工具简介/114
6.1.2 Tableau简介/115
6.1.3 BI报表测试实践/120
6.2 数据挖掘产品测试/128
6.2.1 数据挖掘的定义和流程/128
6.2.2 数据挖掘产品简介/129
6.2.3 数据挖掘产品测试实践/130
6.3 用户行为分析平台测试/139
6.3.1 用户行为分析平台测试概览/139
6.3.2 数据采集阶段测试/140
6.3.3 实时数据处理阶段测试/140
6.3.4 离线数据处理阶段测试/153
6.3.5 数据查询展示阶段测试/153
6.4 本章小结/156
第7章 数据质量管理/157
7.1 数据质量管理概述/157
7.2 数据质量管理流程/158
7.2.1 建立数据质量管理办法/159
7.2.2 制定数据标准/161
7.2.3 数据质量自查评估/162
7.2.4 数据质量问题修复/170
7.3 本章小结/173
第8章 大数据测试平台实践/174
8.1 大数据测试平台背景/174
8.2 大数据测试的开源技术调研/175
8.2.1 great_expectations/176
8.2.2 WeBankFinTech Qualitis/178
8.3 大数据测试的商业方案分析/181
8.3.1 QuerySurge/182
8.3.2 RightData/184
8.4 从零开始搭建大数据测试平台/186
8.4.1 需求分析/187
8.4.2 架构设计/187
8.4.3 功能实现/189
8.4.4 页面演示/196
8.4.5 总结和展望/201
8.5 本章小结/203
第9章 数据治理平台建设/204
9.1 数据治理概述/204
9.1.1 数据治理的基本概念/204
9.1.2 数据治理的重要意义/205
9.1.3 数据治理面临的主要挑战/206
9.1.4 如何开展数据治理/206
9.2 数据治理平台体系/207
9.3 元数据管理平台/208
9.3.1 平台产生背景/208
9.3.2 平台架构/208
9.3.3 模块设计:数据采集/209
9.3.4 模块设计:数据查询/212
9.3.5 模块设计:数据分析/214
9.4 数据质量监控平台/219
9.4.1 平台产生背景/219
9.4.2 平台架构/220
9.4.3 模块设计:规则引擎/221
9.4.4 模块设计:任务中心/230
9.4.5 模块设计:报警系统 /230
9.5 本章小结/232
第 10章 DataOps的理念与实践/233
10.1 DataOps概述/233
10.1.1 什么是DataOps/233
10.1.2 为什么需要DataOps/235
10.1.3 DataOps与DevOps、MLOps的联系和区别/237
10.2 DataOps的能力与特性/239
10.2.1 数据工程/239
10.2.2 数据集成/240
10.2.3 数据安全和数据隐私保护/241
10.2.4 数据质量/242
10.2.5 DataOps的4个特性/243
10.3 DataOps技术实践/244
10.3.1 DataOps技术工具/245
10.3.2 数据管道技术示例/246
10.4 本章小结/253
第 11章 大数据测试的学习路线和发展趋势/254
11.1 为什么学习大数据测试/254
11.2 如何学习大数据测试/255
11.2.1 大数据测试的学习路线/255
11.2.2 大数据测试的技能图谱/259
11.3 大数据测试的发展趋势/269
11.4 本章小结/270
附录 大数据技术经典面试题/271
参考文献/276