新書推薦:
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
《
量子网络的构建与应用
》
售價:HK$
109.8
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:HK$
109.8
《
大唐名城:长安风华冠天下
》
售價:HK$
87.4
|
編輯推薦: |
★ 数据中台建设工程实战 首著
★ 大数据平台建设脚手架 首著
★ 涵盖建设一个企业数据平台所需各个重要环节
★ 不仅有架构方案、技术选型,还有实现细节
★ 更有作者14年相关从业经验的总结
★ 以及长达3年的对本书内容的雕琢
★ 书中的知识和见解可以复用于很多企业
★ 丰富翔实的原型系统代码是一份宝贵的礼物
★ 这是一本多年大数据平台建设的总结之作
★ 也是一本数据中台工程建设实践指导之作
★ 可以说是整个数据行业的宝贵财富
★ 不同的读者都将从本书中获益匪浅
★ 架构师:可提升对大数据平台的整体把控力
★ 中高级开发人员:可深入学习原型项目代码
★ CIO或数据团队的负责人:可参考数据中台战略、规划数据平台蓝图及组建数据团队
在今天这个时代,我们不见得要自己搭建整个平台,但是了解原理可以让自己工作起来事半功倍,不管是自己搭建,还是利用成熟平台,懂得理论,明白实践,再开始实践就会胸有成竹、游刃有余。
|
內容簡介: |
目前,在基于大数据技术的数据中台建设过程中,由于缺乏完备的架构参考和类似于脚手架的原型项目,很多IT团队会在工程技术层面上感到无从下手。开发人员迫切地需要设计良好的架构参考和简单易用的原型项目帮助他们快速启动自己的数据中台建设,本书就是为这一目标而写作的。
《大数据平台架构与原型实现:数据中台建设实战》以大数据平台的架构设计为主题,围绕一个2万行源代码的原型项目讲解和演示如何在工程技术层面构建当下流行的数据中台。全书涵盖建设一个企业数据平台所需的各个重要环节,包括基础设施建设、数据采集、主数据管理、实时计算、批处理与数据仓库、数据存储及作业调度,每个环节独立成章,每一章介绍对应主题的架构方案和技术选型,然后结合原型项目讲解具体的实现细节。
如果你是一位架构师,本书可以帮助你提升对大数据平台的整体把控力;如果你是中高级开发人员,建议你选择自己感兴趣的章节深入学习原型项目的代码;如果你是企业的CIO或数据团队的负责人,本书的第1、2、4章对于你定制企业数据中台战略、规划数据平台蓝图及组建数据团队都有重要的参考价值。
|
關於作者: |
耿立超
架构师,拥有14年IT系统开发和架构经验,在大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计等方面都有丰富的实践经验,热衷于函数式编程。
目前负责企业数据中台的架构设计和开发工作,对Hadoop和Spark生态系统有深入和广泛的了解,参与过Hadoop商业发行版的开发,曾带领团队开发过多个基于大数据技术的企业数据平台,完成包含数据采集、数据仓库、实时处理和数据服务的完整平台建设。
|
目錄:
|
第1章 企业与数据 1
1.1 数据的价值 3
1.2 企业的数据应用能力 6
1.3 企业的数据技术成熟度 12
1.4 数据团队建设 14
1.4.1 大数据人才类型 14
1.4.2 数据团队的组织与管理 20
1.5 建设数据文化 25
第2章 聚焦中台 27
2.1 中台简介 27
2.2 企业信息系统现状 28
2.2.1 点对点式的系统集成 29
2.2.2 重复建设 30
2.2.3 阻碍业务沉淀与发展 31
2.3 烟囱架构案例:会员管理 31
2.4 曾经的救赎SOA 38
2.5 中台详解 41
2.5.1 中台架构 42
2.5.2 中台的技术体系 46
2.5.3 中台的组织架构 48
2.5.4 中台不是银弹 51
2.6 数据中台 52
2.6.1 企业数据资产的现状 53
2.6.2 数据中台具备的能力 54
2.6.3 数据中台建设策略 56
第3章 基础设施 60
3.1 集群规划 61
3.1.1 集群规模与节点配置 61
3.1.2 节点角色分配 63
3.2 创建实例与组网 65
3.2.1 登录云控制台 65
3.2.2 创建专有网络 67
3.2.3 创建安全组 67
3.2.4 创建实例 72
3.2.5 申请弹性公网IP地址 78
3.3 安装集群 79
3.3.1 软件清单 79
3.3.2 环境预配置 80
3.3.3 安装Redis 86
3.3.4 安装Galera(MySQL集群) 87
3.3.5 搭建本地CDH Repository 100
3.3.6 安装Cloudera Manager Server 103
3.3.7 安装CDH 110
3.3.8 高可用配置 114
3.3.9 安装Spark 2 117
3.3.10 启用Spark SQL 118
3.4 安装单节点集群 121
第4章 架构与原型 122
4.1 大数据平台架构设计 123
4.2 原型项目业务背景 127
4.3 原型项目架构方案 132
4.4 原型项目工程结构 139
4.5 部署原型项目 142
4.5.1 配置服务器 142
4.5.2 构建与部署 151
4.5.3 最小化增量部署 165
第5章 数据采集 167
5.1 技术堆栈与选型 168
5.2 需求与概要设计 171
5.3 原型项目设计 173
5.4 生成dummy数据 174
5.5 基于Sqoop的批量导入 177
5.5.1 项目原型 177
5.5.2 使用Sqoop 180
5.5.3 增量导入与全量导入 184
5.6 基于Camel的实时采集 185
5.6.1 项目原型 186
5.6.2 基本的数据采集 188
5.6.3 应对采集作业超时 193
5.6.4 应对数据延迟就绪 197
第6章 主数据管理 202
6.1 主数管理据系统的建设策略 202
6.2 原型设计 204
6.3 项目构建与运行 205
6.4 使用主数据 209
6.5 围绕主数据进行领域建模 209
6.6 主数据在内存数据库中的组织粒度 219
第7章 实时计算 221
7.1 ETL已死,流计算永存 221
7.2 技术堆栈与选型 223
7.2.1 Storm 223
7.2.2 Spark Streaming 225
7.2.3 Flink 235
7.2.4 Kafka Stream 237
7.2.5 关于选型的考量 238
7.3 实时计算需求分析 239
7.4 原型项目介绍与构建 241
7.5 流计算工程结构 243
7.6 集成Kafka 245
7.7 集成HBase 246
7.8 基于时间窗口的聚合运算 252
7.9 自定义状态的流 255
7.10 自定义状态的设计 260
7.11 Structured Streaming性能相关的参数 263
第8章 批处理与数据仓库 266
8.1 大数据与数据仓库 266
8.2 数据仓库的基本理论 267
8.2.1 维度和度量 268
8.2.2 事实表和维度表 268
8.2.3 维度的基数 269
8.2.4 Cube和Cuboid 269
8.2.5 星型模型与雪花模型 269
8.3 批处理需求分析 271
8.4 数据仓库架构 272
8.5 原型项目介绍与构建 277
8.6 数据仓库工程结构 283
8.7 临时数据层的设计与构建 285
8.8 源数据层的设计与构建 286
8.8.1 数据模型 287
8.8.2 建表并处理数据 288
8.8.3 SQL黏合与作业提交 293
8.8.4 增量导入与全量导入 298
8.8.5 源数据层的表分区 300
8.8.6 SRC层数据归档 300
8.9 明细数据层的设计与构建 301
8.9.1 数据模型 301
8.9.2 建表并处理数据 302
8.9.3 合并增量数据 305
8.9.4 SQL参数替换 307
8.10 汇总数据层的设计与构建 309
8.10.1 数据模型 309
8.10.2 建表并处理数据 312
8.10.3 构建维度模型 314
8.10.4 缓慢变化维度 318
8.10.5 2型SCD表 320
8.10.6 生成代理主键 328
8.10.7 运行示例 329
8.11 实现UDF 332
第9章 数据存储 335
9.1 批处理的数据存储 335
9.2 NoSQL数据库概览 341
9.3 HBase与Cassandra 343
9.4 HBase的Rowkey设计 349
9.4.1 热点问题与应对策略 349
9.4.2 定长处理 352
9.4.3 最佳实践 352
9.5 探索HBase二级索引 356
第10章 作业调度 364
10.1 技术堆栈与选型 364
10.2 需求与概要设计 365
10.3 工作流的组织策略 366
10.4 工程结构 370
10.5 项目构建 372
10.6 实现工作流 375
10.7 实现coordinator 381
10.8 部署与提交工作流 385
10.9 作业依赖管理 389
10.9.1 Oozie的作业依赖管理 391
10.9.2 原型项目中的作业依赖 394
|
內容試閱:
|
序
在当今如火如荼的企业数字化进程中,信息技术发挥的作用越来越重要,IT部门在企业中肩负的责任越来越重大。过去,IT部门通常被归入企业的成本中心,从硬件资源到软件许可,从项目研发到产品采购,企业一直被动地在信息化建设上进行投入。而伴随着数字化浪潮和大数据时代的来临,信息技术已经逐渐转变为驱动企业运营和创新的核心动力之一,在业务流程优化、面向终端消费者的数字化转型,以及提升服务质量、改善用户体验方面都发挥着不可替代的作用。作为企业中唯一兼具技术背景和业务知识的团队,IT部门正从以往的业务支持与技术咨询的角色向业务战略合作伙伴的角色转变,凭借自身独特的优势,IT部门在未来将转变为企业的业务价值创造中心,在电子商务、互联网营销和新零售等新兴业态和商业模式中扮演更加主动的角色。
现代企业的IT生态大体上可以分为应用和数据两大组成部分。过去,核心的业务系统几乎无一例外都是应用系统,这些系统帮助企业维持日常运营,一直是IT部门的工作重心,而数据系统往往处于后端的位置上。一方面数据系统需要依赖应用系统生成的业务数据,另一方面传统数据系统主要提供报表服务,并不直接参与业务流程。然而最近几年,随着企业数据的爆炸式增长,以及大数据与人工智能的普及和推广,越来越多的企业意识到数据对企业的重要性。一方面,企业领导者和业务部门越来越需要准确、及时甚至带有预见性的数据分析帮助他们做出业务决策;另一方面,以大数据和人工智能为代表的新兴技术正在向业务领域深度融合,将从数据中汲取的重要业务价值直接反哺到业务运营中(用户画像系统就是这一趋势的典型案例)。这些因素促使很多决策者将建设数据驱动型企业作为企业的战略目标之一,进而加大在数据领域的投入,也促使IT部门开启了新一代数据平台的建设工作。
目前,新一代数据平台均以大数据和人工智能作为核心技术支撑,在方法论上,数据中台理论则是现在行业内讨论最为热烈的话题,这些理论和技术体系庞大而复杂,需要专业的人才和团队进行建设和管理,其中很多工作充满挑战,对IT部门和企业来讲都是开创性的,很难找到先例借鉴和参考,也正因为如此,在这一过程中积累的经验和最佳实践才是非常宝贵的。这本书的架构理论、方案和一些重要建议都经过了实践的检验,并取得了良好的效果,我相信书中的知识和见解可以复用于很多企业,帮助他们打破信息孤岛,将线上与线下渠道连接在一起,为消费者提供更佳的用户体验,并帮助企业在激烈的市场竞争中迅速而敏捷地捕捉商机。
欧莱雅集团亚太区首席信息官
Rita Lau
前言
2008年,Hadoop成为Apache的顶级项目,以此为开端,大数据技术迎来了十多年的持续发展,其间随着Spark的异军突起,整个大数据生态圈又经历了一次装备升级,变得更加完善和强大。在这一进程中,企业数据平台的设计理念也在不断进化,从最初的数据仓库到后来的数据湖,再到今天的数据中台,方法论革新的背后是大数据技术的强力支撑。今天,很多企业已经完成了早期对大数据技术的尝试和探索转而进入应用阶段,在实际的工程建设中,IT团队遇到了很多问题和挑战,有的团队在摸索中积累了一些有价值的经验,有的则走了一些弯路,付出了或大或小的代价。
总的来说,大数据的整体架构和工程方案在业界还没有锤炼到像Java社区的企业级应用那样成熟,在Java社区不但有完备的架构理论和模型,更有基于这些理论沉淀下来的标准工程模板,以前有Appfuse,后来有Spring Boot,这些被称为脚手架的原型工具极大地方便了Java的企业级应用开发,促进了行业技术架构和工程标准的统一。在大数据领域,开发者们也在迫切地寻求成熟的架构方案和类似于脚手架的原型项目帮助他们快速构建自己的企业数据平台,本书就是为这一目标而写作的。
作为本书的作者,我曾经参与过多个大数据平台的设计和开发工作,在长期的工作中积累了一些值得分享的宝贵经验。同时,作为一名坚持在一线编写代码的架构师,我还会在项目初期为团队搭建工程原型,在经过多个项目的优化和提炼之后积累了一套成熟通用的原型方案,本书讲解的原型系统正是由此而来的。它不仅仅是这本书的示例代码,更是一个能应用于实际项目中的脚手架,其源代码具有很高的参考性和可移植性,将虚拟的业务逻辑抽离之后能很容易地应用到实际项目中,以帮助团队快速启动开发工作。在本书中我会把大数据平台的架构设计和原型系统的具体实现结合在一起讲解,希望能帮助读者有效地学习大数据平台的设计方法和各项技术。
本书涵盖大数据平台建设的各个重要环节,包括基础设施建设、数据采集、主数据管理、实时计算、批处理与数据仓库、数据存储和作业调度等,每个环节独立成章,每一章会介绍相应主题的架构方案和技术选型,然后结合原型项目讲解具体的实现细节。由于大数据涉及的技术众多,而本书讨论的又是平台级的架构和实现,无法就每一项技术都深入展开,所以本书的读者需要具备一定的大数据知识和技术背景。如果你是一位架构师,这本书可以帮助你提升对大数据平台的整体把控力;如果你是中高级开发人员,建议你选择自己感兴趣的章节深入学习原型项目代码;如果你是企业的CIO或数据团队的负责人,本书的第1、2、4章对于你定制企业数据战略、规划数据平台蓝图及组建数据团队都有重要的参考价值。
本书讲解使用的原型项目已经在GitHub上开源(购买本书后可查看)。它是一个基于Maven构建的多模块项目,每个模块对应大数据平台上的一个重要环节,同时对应本书的一个具体章节,但与很多计算机图书不同的是,这些模块不是琐碎示例代码的集合,而是在一个统一业务背景下分工协作的标准项目,是一个完备的大数据平台原型系统。
最后,给购买本书的读者一条诚恳的建议:Get your hands dirty!代码先行!这是能学到本书精髓最好的方法。
|
|