返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • Flink核心技术 源码剖析与特性开发 黄伟哲 著 专业科技 文轩网
  • 新华书店正版
    • 作者: 黄伟哲著
    • 出版社: 人民邮电出版社
    • 出版时间:2022-07-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 黄伟哲著
    • 出版社:人民邮电出版社
    • 出版时间:2022-07-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2022-07-01
    • 字数:631000
    • 页数:414
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115584472
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

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

    作  者:黄伟哲 著
    定  价:109.9
    出 版 社:人民邮电出版社
    出版日期:2022年07月01日
    页  数:428
    装  帧:平装
    ISBN:9787115584472
    主编推荐

    本书从设计思想与特性开发两个视角,对Flink框架进行介绍。设计思想篇概述Flink的历史、应用场景与架构,介绍Flink核心API的使用方式,并分模块介绍Flink的源码实现及其设计思想。特性开发篇基于真实的企业级代码运行流程,针对Flink核心功能进行特性开发,帮助读者解决复杂的业务难题。

    内容简介

    本书以核心概念和基本应用为脉络,介绍Flink的核心待性(如检查点机制、时间与窗口、混洗机制等)、任务部署、DataSream API、DataSet API.Table API的应用以及运行时原理等内容。每章先对概念进行基本介绍,然后基于应用实例详细分析Flink的设计思想和源码实现,逐步引领读者掌握定制化的开发特性并提升性能,让读者对Flink的理解有质的飞跃,本书内容是作者多年工作实践的总结,能够帮助读者实现真实的企业级需求。本书适合想要学习Fink设计原理并希望对Fink进行定制化开发的平台开发工程师,需要进行架构设计和技术选型的架构师与项目经理,以及计算机相关专业的学生阅读。

    作者简介

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

    精彩内容

    目录
    第一部分 设计思想篇
    第1章 序篇 3
    1.1 Flink的诞生与发展 3
    1.1.1 Stratosphere项目 3
    1.1.2 Apache Flink的发展 4
    1.2 Flink的应用场景 5
    1.2.1 事件驱动型应用 5
    1.2.2 数据分析型应用 5
    1.2.3 数据管道型应用 9
    1.3 Flink的核心特性与架构 9
    1.3.1 核心特性 9
    1.3.2 架构 10
    1.4 准备工作 11
    1.5 总结 12
    第2章 Flink编程 13
    2.1 API层级 13
    2.2 DataStream API 14
    2.2.1 DataStream版本的WordCount 14
    2.2.2 数据源 16
    2.2.3 数据的转换操作 16
    2.2.4 数据的输出 20
    2.2.5 重分区 21
    2.3 DataSet API 21
    2.3.1 DataSet版本的WordCount 21
    2.3.2 数据源 22
    2.3.3 数据的转换操作 22
    2.3.4 数据的输出 24
    2.3.5 重分区 25
    2.4 Table API 25
    2.4.1 Table API版本的WordCount 25
    2.4.2 初始化执行环境 26
    2.4.3 获取Table对象 28
    2.4.4 Table API中的转换操作及输出 28
    2.5 SQL 34
    2.6 总结 34
    第3章 Flink API层的实现原理 36
    3.1 DataStream API 37
    3.1.1 StreamExecutionEnvironment执行环境 37
    3.1.2 Function接口分析 42
    3.1.3 StreamOperator算子分析 45
    3.1.4 转换操作分析 48
    3.1.5 数据流相关类分析 53
    3.2 DataSet API 59
    3.2.1 ExecutionEnvironment执行环境 59
    3.2.2 InputFormat和OutputFormat 62
    3.2.3 数据集相关类分析 63
    3.3 Table API和SQL 68
    3.4 总结 71
    第4章 Flink的执行图 72
    4.1 StreamGraph的生成 73
    4.1.1 StreamGraphGenerator分析 73
    4.1.2 StreamGraph分析 77
    4.1.3 StreamNode和StreamEdge 80
    4.2 Plan的生成 81
    4.2.1 OperatorTranslation分析 82
    4.2.2 Plan分析 84
    4.3 从StreamGraph到JobGraph 85
    4.3.1 StreamingJobGraphGenerator分析 87
    4.3.2 JobGraph分析 93
    4.3.3 JobVertex、JobEdge和IntermediateDataSet 94
    4.4 从Plan到JobGraph 95
    4.5 从JobGraph到ExecutionGraph 96
    4.5.1 ExecutionGraphBuilder分析 98
    4.5.2 ExecutionGraph分析 99
    4.5.3 ExecutionJobVertex、ExecutionVertex和Execution分析 102
    4.5.4 IntermediateResult、IntermediateResultPartition和ExecutionEdge 106
    4.6 总结 108
    第5章 Flink的运行时架构 109
    5.1 客户端代码的运行 110
    5.2 高可用相关组件 115
    5.2.1 EmbeddedHaServices 115
    5.2.2 EmbeddedLeaderService 117
    5.3 派发器的初始化与启动 122
    5.4 资源管理器的初始化与启动 128
    5.5 TaskExecutor的初始化与启动 131
    5.6 JobMaster的初始化与启动 134
    5.7 总结 137
    第6章 任务调度 138
    6.1 调度器 138
    6.1.1 调度器的基本构成与初始化 139
    6.1.2 构造ExecutionGraph 142
    6.2 调度拓扑 143
    6.3 调度策略 147
    6.3.1 EagerSchedulingStrategy 147
    6.3.2 LazyFromSourcesSchedulingStrategy 149
    6.3.3 InputDependencyConstraintChecker 152
    6.4 调度过程的实现 157
    6.4.1 开始调度 157
    6.4.2 更新任务状态 159
    6.4.3 调度或更新消费者 163
    6.5 任务的部署 163
    6.6 Execution对象在调度过程中的行为 166
    6.7 总结 173
    第7章 任务的生命周期 174
    7.1 任务的提交 174
    7.1.1 TaskDeploymentDescriptor 176
    7.1.2 ResultPartitionDeployment Descriptor 178
    7.1.3 InputGateDeployment Descriptor 180
    7.1.4 ShuffleDescriptor 181
    7.1.5 ProducerDescriptor和PartitionDescriptor 185
    7.1.6 TaskDeploymentDescriptor的提交 188
    7.2 任务的初始化 189
    7.2.1 Task的初始化 189
    7.2.2 ResultPartition的初始化 191
    7.2.3 InputGate的初始化 194
    7.3 任务的执行 197
    7.3.1 StreamTask的初始化 202
    7.3.2 StreamTask中的重要概念 204
    7.3.3 StreamTask的实现类 219
    7.3.4 StreamTask的生命周期 222
    7.3.5 DataSourceTask、BatchTask和DataSinkTask 227
    7.4 总结 237
    第8章 数据传输 238
    8.1 基本概念与设计思想 238
    8.1.1 从逻辑执行图到物理执行图 239
    8.1.2 用同一套模型应对批处理和流处理 242
    8.1.3 混洗 242
    8.1.4 流量控制 245
    8.2 数据的输出 252
    8.2.1 ResultPartitionType 253
    8.2.2 ResultPartitionWriter 256
    8.2.3 ResultSubpartition 262
    8.3 数据的读取 265
    8.3.1 ResultSubpartitionView 266
    8.3.2 InputGate 269
    8.3.3 InputChannel 273
    8.4 反压机制的原理 278
    8.5 总结 283
    第9章 时间与窗口 284
    9.1 基本概念和设计思想 284
    9.1.1 从批处理到流处理 284
    9.1.2 数据流模型的设计思想 287
    9.1.3 Flink中与窗口操作相关的核心概念 289
    9.2 WindowedStream 290
    9.3 窗口相关模型的实现 292
    9.3.1 Window类 292
    9.3.2 WindowAssigner类 293
    9.3.3 Trigger类 294
    9.3.4 Evictor类 296
    9.4 WindowOperator 297
    9.5 水位线 299
    9.5.1 产生水位线 300
    9.5.2 多个数据流传来的水位 303
    9.6 定时器 304
    9.7 总结 307
    第10章 状态与容错 308
    10.1 基本概念与设计思想 308
    10.1.1 状态与容错的基本概念 308
    10.1.2 Hadoop与Spark如何设计容错机制 311
    10.1.3 Flink中容错机制的设计思想 311
    10.1.4 Flink的状态与容错机制的核心概念 313
    10.2 状态存储 315
    10.2.1 检查点的触发 316
    10.2.2 栅栏的传输 323
    10.2.3 状态数据的更新和存储 331
    10.2.4 元信息的存储 336
    10.3 状态恢复 341
    10.3.1 元信息的读取 342
    10.3.2 状态的重分配 344
    10.3.3 状态数据的恢复 347
    10.4 状态的重分配策略 349
    10.4.1 操作符状态的重分配 350
    10.4.2 键控状态的重分配 352
    10.5 总结 353
    第二部分 特性开发篇
    第11章 动态调整并行度 357
    11.1 模型设计 357
    11.1.1 传统模型的局限 357
    11.1.2 DS2模型的核心概念 358
    11.1.3 算法原理 359
    11.1.4 架构设计 360
    11.1.5 使用DS2模型的注意事项 361
    11.2 指标收集 361
    11.3 指标管理 364
    11.4 总结 366
    第12章 自适应查询执行 367
    12.1 Flink框架下的自适应查询执行 368
    12.1.1 执行阶段的划分 368
    12.1.2 优化流程 368
    12.1.3 优化策略 370
    12.2 统计信息的收集 373
    12.3 执行图与调度拓扑的修改 374
    12.4 上下游关系的建立 377
    12.5 总结 378
    第13章 Flink Sort-Merge Shuffle 379
    13.1 混洗机制的对比 379
    13.2 Flink混洗机制 381
    13.3 Blink混洗的数据流转 382
    13.3.1 ExternalResultPartition 383
    13.3.2 PartitionMergeFileWriter 384
    13.4 Blink混洗的Sort-Merge过程 386
    13.4.1 PushedUnilateralSort Merger 387
    13.4.2 NormalizedKeySorter 390
    13.4.3 排序线程 393
    13.4.4 溢写线程 393
    13.4.5 合并线程 395
    13.5 文件的读取和元信息管理 398
    13.5.1 ExternalBlockResultPartition Manager 398
    13.5.2 ExternalBlockResultPartition Meta 399
    13.5.3 ExternalBlockSubpartition View 400
    13.6 总结 402
    第14章 修改检查点的状态 403
    14.1 状态修改的原理 403
    14.1.1 状态元信息的读取 404
    14.1.2 状态数据的读取 405
    14.2 状态处理器API 407
    14.2.1 数据的读取 409
    14.2.2 数据的写出 413
    14.3 总结 414

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购