搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Flink原理、实战与性能优化
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111623533
  • 作      者:
    张利兵著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2019
收藏
编辑推荐

(1)作者是资深的流式计算领域专家,是流式计算和Flink领域的先行者和布道者,已经利用Flink在银行、证券和铁路领域的头部企业做了大量的项目实践。

(2)作者是经验丰富的架构师,曾经是明略数据的大数据架构师,现为第四范式的AI项目架构师。

(3)从功能、原理、实战和调优4个维度循序渐进讲解利用Flink进行分布式流式应用开发,指导读者从零基础入门到进阶。

(4)本书得到了第四范式的首席架构师胡时伟、明略科技集团技术VP杨威、国盛金控/极盛科技大数据总监罗志鹏等专家的强烈推荐。


展开
作者简介

张利兵


资深架构师,流式计算领域专家,第四范式华东区AI项目架构师,原明略数据华东区大数据架构师。

有多年大数据、流式计算方面的开发经验,对Hadoop、Spark、Flink等大数据计算引擎有着非常深入的理解,积累了丰富的项目实践经验。先后利用相关技术为银行、证券、地铁等领域的头部企业构建了内部大数据平台,参与了基于Flink的实时反欺诈风控、实时地铁故障预警等流式计算平台的设计和研发。


展开
内容介绍

这是一部以实战为导向,能指导读者零基础掌握Flink并快速完成进阶的著作,从功能、原理、实战和调优等4个维度循序渐进地讲解了如何利用Flink进行分布式流式应用开发。作者是该领域的资深专家,现就职于第四范式,曾就职于明略数据。

全书一共10章,逻辑上可以分为三个部分:

第一部分(第1~2章)

主要介绍了Flink的核心概念、特性、应用场景、基本架构,开发环境的搭建和配置,以及源代码的编译。

第二部分(第3~9章)

详细讲解了Flink的编程范式,各种编程接口的功能、应用场景和使用方法,以及核心模块和组件的原理和使用。

第三部分(第10章)

重点讲解了Flink的监控和优化,参数调优,以及对反压、Checkpoint和内存的优化。


展开
精彩书评

流式处理系统是大数据分析与机器学习系统的重要支撑组件,在智能应用中越来越重要。作者有多年研发经验,对流式处理有非常深厚的理解。本书从Flink的使用、原理和优化等方面深入浅出地展开讲解,既能帮助新手快速掌握Flink,又能给有一定Flink开发经验的读者进阶指导。

——胡时伟 第四范式首席架构师

 

实时计算在国内还没有大规模的落地,已有的架构设计基本上都是采用的批处理模式。随着流式处理技术的发展,会有越来越多的流式计算案例不断落地,而Flink无疑是流式计算技术中zui为耀眼的。本书从多个方面对Flink进行了深入讲解,是一本难得的Flink入门级教程,能够很好地帮助读者认识并掌握Flink这项技术。

——杨威 明略科技集团技术VP

 

流式计算是未来大数据发展的必然趋势,统一批处理和流处理的框架广受欢迎。就目前来看,Flink是一个优秀的统一批处理和流处理框架,国内相关的中文书籍和资料比较少。本书从批量计算、流式计算等方面对Flink进行了非常系统的介绍,是一本非常不错的中文参考书。

——罗志鹏 国盛金控/极盛科技大数据总监


展开
目录

前言

第1章 Apache Flink介绍  1

1.1 Apache Flink是什么  1

1.2 数据架构的演变  2

1.2.1 传统数据基础架构  3

1.2.2 大数据数据架构  4

1.2.3 有状态流计算架构  5

1.2.4 为什么会是Flink  6

1.3 Flink应用场景  8

1.4 Flink基本架构  10

1.4.1 基本组件栈  10

1.4.2 基本架构图  11

1.5 本章小结  13

第2章 环境准备  14

2.1 运行环境介绍  14

2.2 Flink项目模板  15

2.2.1 基于Java实现的项目模板  15

2.2.2 基于Scala实现的项目模板  18

2.3 Flink开发环境配置  20

2.3.1 下载IntelliJ IDEA IDE  21

2.3.2 安装Scala Plugins  21

2.3.3 导入Flink应用代码  22

2.3.4 项目配置  22

2.4 运行Scala REPL  24

2.4.1 环境支持  24

2.4.2 运行程序  24

2.5 Flink源码编译  25

2.6 本章小结  26

第3章 Flink编程模型  27

3.1 数据集类型  27

3.2 Flink编程接口  29

3.3 Flink程序结构  30

3.4 Flink数据类型  37

3.4.1 数据类型支持  37

3.4.2 TypeInformation信息获取  40

3.5 本章小结  43

第4章 DataStream API 介绍与使用  44

4.1 DataStream编程模型  44

4.1.1 DataSources数据输入  45

4.1.2 DataSteam转换操作  49

4.1.3 DataSinks数据输出  59

4.2 时间概念与Watermark  61

4.2.1 时间概念类型  61

4.2.2 EventTime和Watermark  63

4.3 Windows窗口计算  69

4.3.1 Windows Assigner  70

4.3.2 Windows Function  77

4.3.3 Trigger窗口触发器  83

4.3.4 Evictors数据剔除器  87

4.3.5 延迟数据处理  88

4.3.6 连续窗口计算  89

4.3.7 Windows多流合并  90

4.4 作业链和资源组  95

4.4.1 作业链  95

4.4.2 Slots资源组  96

4.5 Asynchronous I/O异步操作  97

4.6 本章小结  98

第5章 Flink状态管理和容错  100

5.1 有状态计算  100

5.2 Checkpoints和Savepoints  109

5.2.1 Checkpoints检查点机制  109

5.2.2 Savepoints机制  111

5.3 状态管理器  114

5.3.1 StateBackend类别  114

5.3.2 状态管理器配置  116

5.4 Querable State  118

5.5 本章小结  123

第6章 DataSet API介绍与使用  124

6.1 DataSet API  124

6.1.1 应用实例  125

6.1.2 DataSources数据接入  126

6.1.3 DataSet转换操作  128

6.1.4 DataSinks数据输出  134

6.2 迭代计算  136

6.2.1 全量迭代  136

6.2.2 增量迭代  137

6.3 广播变量与分布式缓存  139

6.3.1 广播变量  139

6.3.2 分布式缓存  140

6.4 语义注解  141

6.4.1 Forwarded Fileds注解  141

6.4.2 Non-Forwarded Fileds注解  143

6.4.3 Read Fields注解  144

6.5 本章小结  145

第7章 Table API & SQL介绍与使用  146

7.1 TableEnviroment概念  146

7.1.1 开发环境构建  147

7.1.2 TableEnvironment基本操作  147

7.1.3 外部连接器  155

7.1.4 时间概念  162

7.1.5 Temporal Tables临时表  166

7.2 Flink Table API  167

7.2.1 Table API应用实例  167

7.2.2 数据查询和过滤  168

7.2.3 窗口操作  168

7.2.4 聚合操作  173

7.2.5 多表关联  175

7.2.6 集合操作  177

7.2.7 排序操作  178

7.2.8 数据写入  179

7.3 Flink SQL使用  179

7.3.1 Flink SQL实例  179

7.3.2 执行SQL  180

7.3.3 数据查询与过滤  181

7.3.4 Group Windows窗口操作  182

7.3.5 数据聚合  184

7.3.6 多表关联  186

7.3.7 集合操作  187

7.3.8 数据输出  189

7.4 自定义函数  189

7.4.1 Scalar Function  189

7.4.2 Table Function  191

7.4.3 Aggregation Function  192

7.5 自定义数据源  193

7.5.1 TableSource定义  193

7.5.2 TableSink定义  196

7.5.3 TableFactory定义  199

7.6 本章小结  201

第8章 Flink组件栈介绍与使用  202

8.1 Flink复杂事件处理  202

8.1.1 基础概念  203

8.1.2 Pattern API  204

8.1.3 事件获取  210

8.1.4 应用实例  212

8.2 Flink Gelly图计算应用  213

8.2.1 基本概念  213

8.2.2 Graph API  214

8.2.3 迭代图处理  220

8.2.4 图生成器  226

8.3 FlinkML机器学习应用  227

8.3.1 基本概念  227

8.3.2 有监督学习算子  229

8.3.3 数据预处理  231

8.3.4 推荐算法  234

8.3.5 Pipelines In FlinkML  235

8.4 本章小结  236

第9章 Flink部署与应用  237

9.1 Flink集群部署  237

9.1.1 Standalone Cluster部署  238

9.1.2 Yarn Cluster部署  240

9.1.3 Kubernetes Cluster部署  244

9.2 Flink高可用配置  247

9.2.1 Standalone集群高可用配置  248

9.2.2 Yarn Session集群高可用配置  250

9.3 Flink安全管理  251

9.3.1 认证目标  251

9.3.2 认证配置  252

9.3.3 SSL配置  253

9.4 Flink集群升级  255

9.4.1 任务重启  256

9.4.2 状态维护  256

9.4.3 版本升级  257

9.5 本章小结  258

第10章 Flink监控与性能优化  259

10.1 监控指标  259

10.1.1 系统监控指标  259

10.1.2 监控指标注册  261

10.1.3 监控指标报表  264

10.2 Backpressure监控与优化  266

10.2.1 Backpressure进程抽样  266

10.2.2 Backpressure页面监控  267

10.2.3 Backpressure配置  268

10.3 Checkpointing监控与优化  268

10.3.1 Checkpointing页面监控  268

10.3.2 Checkpointing优化  271

10.4 Flink内存优化  273

10.4.1 Flink内存配置  274

10.4.2 Network Buffers配置  275

10.5 本章小结  277


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证