Flink核心技术:源码剖析与特性开发

Flink核心技术:源码剖析与特性开发

FLink设计原理定制化开发,熟悉大数据计算引擎,学习流处理计算框架,详细分析源码的实现细节

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.621 评价豆瓣读书

作品简介

本书以核心概念和基本应用为脉络,介绍Flink的核心特性(如检查点机制、时间与窗口、混洗机制等)、任务部署、DataStream API、DataSet API、Table API的应用以及运行时原理等内容。每章先对概念进行基本介绍,然后基于应用实例详细分析Flink的设计思想和源码实现,逐步引领读者掌握定制化的开发特性并提升性能,让读者对Flink的理解有质的飞跃。本书内容是作者多年工作实践的总结,能够帮助读者实现真实的企业级需求。

本书适合想要学习Flink设计原理并希望对Flink进行定制化开发的平台开发工程师,需要进行架构设计和技术选型的架构师与项目经理,以及计算机相关专业的学生阅读。

黄伟哲,约翰斯·霍普金斯大学硕士,架构师、软件开发工程师、咨询师,Spark Contributor。《人工智能技术与大数据》译者,目前就职于美团。在开源大数据框架的应用与特性开发方面有丰富的经验。

作品目录

  1. 内容提要
  2. 序  一
  3. 序  二
  4. 前  言
  5. 资源与支持
  6. 第一部分 设计思想篇
  7. 第1章 序篇
  8. 1.1 Flink的诞生与发展
  9. 1.2 Flink的应用场景
  10. 1.3 Flink的核心特性与架构
  11. 1.4 准备工作
  12. 1.5 总结
  13. 第2章 Flink编程
  14. 2.1 API层级
  15. 2.2 DataStream API
  16. 2.3 DataSet API
  17. 2.4 Table API
  18. 2.5 SQL
  19. 2.6 总结
  20. 第3章 Flink API层的实现原理
  21. 3.1 DataStream API
  22. 3.2 DataSet API
  23. 3.3 Table API和SQL
  24. 3.4 总结
  25. 第4章 Flink的执行图
  26. 4.1 StreamGraph的生成
  27. 4.2 Plan的生成
  28. 4.3 从StreamGraph到JobGraph
  29. 4.4 从Plan到JobGraph
  30. 4.5 从JobGraph到ExecutionGraph
  31. 4.6 总结
  32. 第5章 Flink的运行时架构
  33. 5.1 客户端代码的运行
  34. 5.2 高可用相关组件
  35. 5.3 派发器的初始化与启动
  36. 5.4 资源管理器的初始化与启动
  37. 5.5 TaskExecutor的初始化与启动
  38. 5.6 JobMaster的初始化与启动
  39. 5.7 总结
  40. 第6章 任务调度
  41. 6.1 调度器
  42. 6.2 调度拓扑
  43. 6.3 调度策略
  44. 6.4 调度过程的实现
  45. 6.5 任务的部署
  46. 6.6 Execution对象在调度过程中的行为
  47. 6.7 总结
  48. 第7章 任务的生命周期
  49. 7.1 任务的提交
  50. 7.2 任务的初始化
  51. 7.3 任务的执行
  52. 7.4 总结
  53. 第8章 数据传输
  54. 8.1 基本概念与设计思想
  55. 8.2 数据的输出
  56. 8.3 数据的读取
  57. 8.4 反压机制的原理
  58. 8.5 总结
  59. 第9章 时间与窗口
  60. 9.1 基本概念和设计思想
  61. 9.2 WindowedStream
  62. 9.3 窗口相关模型的实现
  63. 9.4 WindowOperator
  64. 9.5 水位线
  65. 9.6 定时器
  66. 9.7 总结
  67. 第10章 状态与容错
  68. 10.1 基本概念与设计思想
  69. 10.2 状态存储
  70. 10.3 状态恢复
  71. 10.4 状态的重分配策略
  72. 10.5 总结
  73. 第二部分 特性开发篇
  74. 第11章 动态调整并行度
  75. 11.1 模型设计
  76. 11.2 指标收集
  77. 11.3 指标管理
  78. 11.4 总结
  79. 第12章 自适应查询执行
  80. 12.1 Flink框架下的自适应查询执行
  81. 12.2 统计信息的收集
  82. 12.3 执行图与调度拓扑的修改
  83. 12.4 上下游关系的建立
  84. 12.5 总结
  85. 第13章 Flink Sort-Merge Shuffle
  86. 13.1 混洗机制的对比
  87. 13.2 Flink混洗机制
  88. 13.3 Blink混洗的数据流转
  89. 13.4 Blink混洗的Sort-Merge过程
  90. 13.5 文件的读取和元信息管理
  91. 13.6 总结
  92. 第14章 修改检查点的状态
  93. 14.1 状态修改的原理
  94. 14.2 状态处理器API
  95. 14.3 总结
  96. 附录A 资源管理
  97. A.1 TaskSlot与TaskSlotTable
  98. A.2 槽的注册与申请
  99. A.3 物理槽与槽资源池
  100. A.4 给任务分配槽
  101. A.5 共享槽
  102. A.6 组件间的交互
  103. A.7 总结
  104. 附录B 类型系统
  105. B.1 主要数据类型
  106. B.2 类型的指定
  107. B.3 类型信息的提取
  108. B.4 数据的序列化与反序列化
  109. B.5 总结
载入中