新書推薦:
《
中平:东汉王朝大崩溃(184—189)
》
售價:NT$
245.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
中国历史研究入门(全二册)
》
售價:NT$
1290.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
《
夏天,19岁的肖像(青鲤文库)岛田庄司两次入围日本通俗文学奖直木奖的作品 ,同名电影由黄子韬主演!
》
售價:NT$
225.0
《
图解机械工程入门
》
售價:NT$
440.0
《
股市长线法宝(第6版)
》
售價:NT$
640.0
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:NT$
450.0
|
編輯推薦: |
批处理|流处理|编程基础|FlinkML|Flink CEP|实时大数据理论 Flink实践方法论
|
內容簡介: |
本书介绍了当下*流行的实时数据处理引擎Flink,讲解了流处理API、批处理API、机器学习引擎FlinkML、关系型API、复杂事件处理FLinkCEP,以及指标度量与部署模式。此外,本书展开分析了流式数据处理理论中时间、窗口、水印、触发器、迟到生存期之间的关联关系;深入分析了多项式曲线拟合、分类算法SVM、推荐算法ALS-WR的理论和FlinkML实现。希望快速上手Flink以开展实时大数据处理与在线机器学习应用的从业者,本书是不二的选择:本书首先介绍相关概念引入的原因、解决方案的演进过程、Flink的对应架构、编程案例以及开放式的思考问题。
|
關於作者: |
国内首批持牌个人征信机构北京华道征信大数据高级架构师、技术总监,主持同业征信事业部系统与数据研发工作,负责消费信贷业务系统架构设计、风控模型架构设计、大数据风控服务平台架构设计;承担大数据与人工智能在金融领域应用的研究工作。曾就职于人行征信中心应收账款融资登记团队,主持央行动产融资登记服务系统与数据分析系统研发,领导国内动产融资登记服务领域行业门户网站(中登网)建设。
|
目錄:
|
第 1 章 流式数据架构理论 ............................................................................... 1
1.1 大数据处理架构演进历程 ......................................................................... 1
1.2 案例分析 ..................................................................................................... 8
1.2.1 SK 电信驾驶安全性评分 ................................................................ 8
1.2.2 流式机器学习应用 ........................................................................ 12
1.3 流式数据架构基本概念 ........................................................................... 17
1.3.1 流 .................................................................................................... 17
1.3.2 时间 ................................................................................................ 18
1.3.3 窗口 ................................................................................................ 21
1.3.4 水印 ................................................................................................ 23
1.3.5 触发器 ............................................................................................ 23
1.3.6 数据处理模式 ................................................................................ 23
1.3.7 如何理解流式数据架构的内在机制 ............................................ 27
1.4 根据事件时间开滚动窗口 ....................................................................... 28
1.4.1 what:转换/where:窗口 ........................................................... 29
1.4.2 when:水印 ................................................................................... 29
1.4.3 when:触发器 ............................................................................... 32
1.4.4 when:迟到生存期 ....................................................................... 34
1.4.5 how:累加模式 ............................................................................. 35
1.5 一致性 ....................................................................................................... 37
1.5.1 有状态计算 .................................................................................... 37
1.5.2 exactly-once 语义 ........................................................................... 38
1.5.3 异步屏障快照 ................................................................................ 39
1.5.4 保存点 ............................................................................................ 44
1.6 思考题 ....................................................................................................... 45
第 2 章 编程基础 ........................................................................................... 46
2.1 Flink 概述 ................................................................................................. 46
2.2 让轮子转起来 ........................................................................................... 47
2.2.1 本书约定 ........................................................................................ 47
2.2.2 搭建单机版环境 ............................................................................ 48
2.2.3 配置 IDEA ..................................................................................... 51
2.3 编程模型 ................................................................................................... 53
2.3.1 分层组件栈 .................................................................................... 53
2.3.2 流式计算模型 ................................................................................ 54
2.3.3 流处理编程 .................................................................................... 57
2.4 运行时 ....................................................................................................... 62
2.4.1 运行时结构 .................................................................................... 62
2.4.2 任务调度 ........................................................................................ 66
2.4.3 物理执行计划 ................................................................................ 69
2.5 思考题 ....................................................................................................... 70
第 3 章 流处理 API ........................................................................................ 71
3.1 流处理 API 概述....................................................................................... 71
3.2 时间处理 ................................................................................................... 73
3.2.1 时间 ................................................................................................ 73
3.2.2 水印 ................................................................................................ 74
3.2.3 周期性水印生成器 ........................................................................ 75
3.2.4 间歇性水印生成器 ........................................................................ 77
3.2.5 递增式水印生成器 ........................................................................ 78
3.3 算子 ........................................................................................................... 79
3.3.1 算子函数 ........................................................................................ 80
3.3.2 数据分区 ........................................................................................ 83
3.3.3 资源共享 ........................................................................................ 85
3.3.4 RichFunction .................................................................................. 85
3.3.5 输出带外数据 ................................................................................ 86
3.4 窗口 ........................................................................................................... 86
3.4.1 窗口分类 ........................................................................................ 87
3.4.2 窗口函数 ........................................................................................ 90
3.4.3 触发器 ............................................................................................ 94
3.4.4 清除器 ............................................................................................ 96
3.4.5 迟到生存期 .................................................................................... 96
3.5 连接器 ....................................................................................................... 97
3.5.1 HDFS 连接器 ................................................................................. 98
3.5.2 Kafka .............................................................................................. 99
3.5.3 异步 IO ........................................................................................ 102
3.6 状态管理 ................................................................................................. 104
3.6.1 状态分类 ...................................................................................... 104
3.6.2 托管的 Keyed State ...................................................................... 104
3.6.3 状态后端配置 .............................................................................. 106
3.7 检查点 ..................................................................................................... 107
3.8 思考题 ..................................................................................................... 108
第 4 章 批处理 API ...................................................................................... 109
4.1 批处理 API 概述..................................................................................... 109
4.1.1 程序结构 ...............................
|
內容試閱:
|
实时大数据是与时俱进的变革
从互联网时代的数据爆炸,到即将大规模铺开的5G 通信支撑下的物联网时代的大数据浩海,作为赋能工具的大规模数据处理,技术架构起到了决定性的作用,反过来也推动了技术架构与时俱进。
在谷歌公司发表的三篇划时代论文(分别介绍MapReduce、GFS 和BigTable)的推动下,开源项目Hadoop 横空出世,并于2008 年1 月正式成为Apache 的顶级项目;此后,Hadoop 迅速建立起大数据生态体系,并由此衍生出一系列大数据处理的理论和与之对应的大数据处理框架:从批处理到流处理,从Hadoop 到Storm Spark,再到Flink。本书将阐述大数据实时处理理论的变迁,并着重介绍流处理框架Flink。
数据处理任务往往需要对全量数据进行计算,而全量数据很难使用传统关系型数据库进行批量计算,原因如下:
(1)磁盘寻址时间的提升速度远远落后于磁盘带宽的提升速度。如果数据访问包含大量的磁盘寻址,则大数据处理势必带来较大的延迟,因此基于传输带宽设计大数据处理系统更符合现状。
(2)相比全量数据计算,关系型数据库适用于在线事务处理(OLTP,On-Line Transaction Processing)场景,查询和更新是其设计的要点,索引是主要的设计方案。但是在大数据集的场景下,索引的效率往往不如全量扫描。因此,Hadoop 应运而生,借助MapReduce 计算引擎成功解决了大数据所面临的可计算(可参考谷歌的论文MapReduce:Simplified Data Processing on Large Clusters)、伸缩、容错等困难,成为大数据系统的标配组件。
数据爆炸式增长,以及数据处理的实时性要求越来越高,大数据处理系统越来越复杂。在这种情况下,传统的OLTP OLAP(On-Line Analysis Processing,在线分析处理)系统架构不堪重负:复杂的数据需求实现流程、过载的数据仓库抽取任务队列、不同的技术栈带来的需求理解偏差等将导致数据从IT 部门到DT 部门的周期过长;微服务方法的大规模应用,导致在分布式系统中维护全局状态的一致性异常困难,而以数据流作为中心数据源的流处理方法能有效规避这种困难。有的学者甚至提出通过合理的架构设计,打破CAP 定理。因此,低延迟、强一致性、适用于乱序的流处理框架Flink 正席卷而来,即将成为大数据领域流处理的标配组件。
本书特色
本书将从多个角度讲解同一个技术概念:
(1)分析引入Flink 这个技术概念的原因,使读者能够快速理解相关技术的应用场景,如为什么需要实时数据处理、为什么需要机器学习架构、为什么需要关系型API、为什么需要复杂事件处理。
(2)剖析Flink 技术的理论创新过程,使读者能够深入理解Flink 的理论基础,使Flink 应用开发架构师或工程师能够游刃有余地解决线上系统遇到的实际问题,如Flink 一致性保证的异步检查点屏障的理论创新过程、机器学习中分类和推荐算法的分布式实现的理论创新过程、复杂事件处理的自动机理论创新。
(3)解析Flink 编程API 的架构。使读者可以从理论框架与Flink 架构实现两个角度体会这个技术概念的内涵。
(4)总结应用API 编程解决实际问题的方法。使读者能够在理解理论和编程API 的基础上编程解决实际问题。
(5)在每章的最后一节提出一些开放式的思考题,以便读者思考这些技术概念之间的关联。
内容组织概要
本书共分为8 章,每章的基本内容概要如下。
第1 章流式数据架构理论 首先,概述大数据处理架构的演进历程,使读者了解大数据处理架构正在经历怎样的变革。以韩国SK 电信的Driving Score 技术架构演变和流式数据架构在机器学习领域的应用为例,介绍流式数据架构的产生背景及应用场景;其次,梳理流式数据架构中主要概念间的关联和关系,并以实例分析根据事件时间开滚动窗口的内在机制;最后,论述流式数据架构中一致性理论的基础及实现方式。
第2 章编程基础 首先,概述Flink 的特征,使读者快速了解Flink 是什么;其次,搭建流处理和批处理IDEA 开发环境,使读者感性地了解Flink 是怎么解决数据处理问题的;最后,介绍Flink 的编程模型与运行时结构,如API 分层关系、应用程序基本结构、运行时结构、任务调度和物理执行计划。
第3 章流处理API 首先,概述流处理Pipeline、Source 和Sink 的常见形式;其次,介绍时间特征设置与水印生成器、算子、窗口机制、连接器、状态管理与检查点编程。
第4 章批处理API 首先,概述批处理的程序结构,Source、Sink 与连接器的常见形式,以及常见的算子函数;其次,以两个机器学习的例子来介绍迭代的应用;最后,介绍批处理程序优化的语义注解形式。
第5 章机器学习引擎架构与应用编程 首先,在总结Scikit-learn 架构实践的基础上,详细分析FlinkML 的底层实现代码;其次,分析多项式曲线拟合、分类算法、推荐算法的理论和代码实现。本章有大量代码分析,是流处理与批处理API编程的实战部分。
第6 章关系型API 首先,介绍Flink 引入关系型API 的原因,以及SQL 解析与优化框架Calcite;其次,详述关系型API 的主要内容;最后,介绍架构在DataStream 上的关系型API 的背后机制,即动态表。
第7 章复杂事件处理 首先,以股票异常交易检测为例讲述模式匹配的编程过程,以及流处理API 和关系型API 在解决这类问题时遇到的困难;其次,介绍NFAb模式匹配编程模型;最后,基于Flink CEP API 编程解决股票异常交易检测问题。
第8 章监控与部署 讲述指标度量的编程模型和Flink 集群部署模式。
联系作者
购买本书的同时,你将获得免费向作者寻求帮助的权利。每章最后一节为思考题,设置思考题的目的是加深读者对本书的理解。这些问题是开放性的,因此书中并没有给出标准答案,读者可以通过作者的微信公众号(见前勒口)获取帮助。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
提交勘误:您对书中内容的修改意见可在【提交勘误】处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
与读者交流:在页面下方【读者评论】处留下您的疑问或观点,与其他读者一同学习交流。
|
|