您好,欢迎光临有路网!
Flink内核原理与实现
QQ咨询:
有路璐璐:

Flink内核原理与实现

  • 作者:冯飞 崔鹏云 陈冠华 编著
  • 出版社:机械工业出版社
  • ISBN:9787111661894
  • 出版日期:2020年09月01日
  • 页数:328
  • 定价:¥119.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    《Flink内核原理与实现》既讲解了Flink的入门、安装、流计算开发入门、类型和序列化系统、监控运维、**管理配置等基础知识,又讲解了Flink的时间概念、Window的实现原理及其代码解析,Flink的容错机制原理,Flink容错的关键设计、代码实现分析,Flink Job从源码到执行整个过程的解析,Flink Job的调度策略、资源管理策略、内存管理、数据交换的关键设计和代码实现分析,Flink的RPC通信框架等深度内容。 《Flink内核原理与实现》适合对实时计算感兴趣的大数据开发、运维领域的从业人员阅读,此外对机器学习工程技术人员也有所帮助。
    目录
    序 前言 第1章 Flink入门 1.1 核心特点 1.1.1 批流一体 1.1.2 可靠的容错能力 1.1.3 高吞吐、低延迟 1.1.4 大规模复杂计算 1.1.5 多平台部署 1.2 架构 1.2.1 技术架构 1.2.2 运行架构 1.3 Flink的未来 1.4 准备工作 1.5 总结 第2章 Flink应用 2.1 Flink应用开发 2.2 API层次 2.3 数据流 2.4 数据流API 2.4.1 数据读取 2.4.2 处理数据 2.4.3 数据写出 2.4.4 旁路输出 2.5 总结 第3章 核心抽象 3.1 环境对象 3.1.1 执行环境 3.1.2 运行时环境 3.1.3 运行时上下文 3.2 数据流元素 3.3 数据转换 3.4 算子 3.4.1 算子行为 3.4.2 Flink算子 3.4.3 Blink算子 3.4.4 异步算子 3.5 函数体系 3.5.1 函数层次 3.5.2 处理函数 3.5.3 广播函数 3.5.4 异步函数 3.5.5 数据源函数 3.5.6 输出函数 3.5.7 检查点函数 3.6 数据分区 3.7 连接器 3.8 分布式ID 3.9 总结 第4章 时间与窗口 4.1 时间类型 4.2 窗口类型 4.3 窗口原理与机制 4.3.1 WindowAssigner 4.3.2 WindowTrigger 4.3.3 WindowEvictor 4.3.4 Window函数 4.4 水印 4.4.1 DataStream Watermark生成 4.4.2 Flink SQL Watermark生成 4.4.3 多流的Watermark 4.5 时间服务 4.5.1 定时器服务 4.5.2 定时器 4.5.3 优先级队列 4.6 窗口实现 4.6.1 时间窗口 4.6.2 会话窗口 4.6.3 计数窗口 4.7 总结 第5章 类型与序列化 5.1 DataStream类型系统 5.1.1 物理类型 5.1.2 逻辑类型 5.1.3 类型推断 5.1.4 显式类型 5.1.5 类型系统存在的问题 5.2 SQL类型系统 5.2.1 Flink Row 5.2.2 Blink Row 5.2.3 ColumnarRow 5.3 数据序列化 5.3.1 数据序列化/反序列化 5.3.2 String序列化过程示例 5.3.3 作业序列化 5.3.4 Kryo序列化 5.4 总结 第6章 内存管理 6.1 自主内存管理 6.2 内存模型 6.2.1 内存布局 6.2.2 内存计算 6.3 内存数据结构 6.3.1 内存段 6.3.2 内存页 6.3.3 Buffer 6.3.4 Buffer资源池 6.4 内存管理器 6.4.1 内存申请 6.4.2 内存释放 6.5 网络缓冲器 6.5.1 内存申请 6.5.2 内存回收 6.6 总结 第7章 状态原理 7.1 状态类型 7.1.1 KeyedState与OperatorState 7.1.2 原始和托管状态 7.2 状态描述 7.3 广播状态 7.4 状态接口 7.4.1 状态操作接口 7.4.2 状态访问接口 7.5 状态存储 7.5.1 内存型和文件型状态存储 7.5.2 基于RocksDB的StateBackend 7.6 状态持久化 7.7 状态重分布 7.7.1 OperatorState重分布 7.7.2 KeyedState重分布 7.8 状态过期 7.8.1 DataStream中状态过期 7.8.2 Flink SQL中状态过期 7.8.3 状态过期清理 7.9 总结 第8章 作业提交 8.1 提交流程 8.1.1 流水线执行器PipelineExecutor 8.1.2 Yarn Session提交流程 8.1.3 Yarn Per-Job提交流程 8.1.4 K8s Session提交流程 8.2 Graph总览 8.3 流图 8.3.1 StreamGraph核心对象 8.3.2 StreamGraph生成过程 8.3.3 单输入物理Transformation的转换示例 8.3.4 虚拟Transformation的转换示例 8.4 作业图 8.4.1 JobGraph核心对象 8.4.2 JobGraph生成过程 8.4.3 算子融合 8.5 执行图 8.5.1 ExecutionGraph核心对象 8.5.2 ExecutionGraph生成过程 8.6 总结 第9章 资源管理 9.1 资源抽象 9.2 资源管理器 9.3 Slot管理器 9.4 SlotProvider 9.5 Slot选择策略 9.6 Slot资源池 9.7 Slot共享 9.8 总结 第10章 作业调度 10.1 调度 10.2 执行模式 10.3 数据交换模式 10.4 作业生命周期 10.4.1 作业生命周期状态 10.4.2 Task的生命周期 10.5 关键组件 10.5.1 JobMaster 10.5.2 TaskManager 10.5.3 Task 10.5.4 StreamTask 10.6 作业启动 10.6.1 JobMaster启动作业 10.6.2 流作业启动调度 10.6.3 批作业调度 10.6.4 TaskManger启动Task 10.7 作业停止 10.8 作业失败调度 10.8.1 默认作业失败调度 10.8.2 **的作业失败调度 10.9 组件容错 10.9.1 容错设计 10.9.2 HA服务 10.9.3 JobMaster的容错 10.9.4 ResourceManager容错 10.9.5 TaskManager 的容错 10.10 总结 第11章 作业执行 11.1 作业执行图 11.2 核心对象 11.2.1 输入处理器 11.2.2 Task输入 11.2.3 Task输出 11.2.4 结果分区 11.2.5 结果子分区 11.2.6 有限数据集 11.2.7 输入网关 11.2.8 输入通道 11.3 Task执行 11.3.1 Task处理数据 11.3.2 Task处理Watermark 11.3.3 Task处理StreamStatus 11.3.4 Task处理LatencyMarker 11.4 总结 第12章 数据交换 12.1 数据传递模式 12.2 关键组件 12.2.1 RecordWriter 12.2.2 数据记录序列化器 12.2.3 数据记录反序列化器 12.2.4 结果子分区视图 12.2.5 数据输出 12.3 数据传递 12.3.1 本地线程内的数据传递 12.3.2 本地线程间的数据传递 12.3.3 跨网络的数据传递 12.4 数据传递过程 12.4.1 数据读取 12.4.2 数据写出 12.4.3 数据清理 12.5 网络通信 12.5.1 网络连接 12.5.2 无流控 12.5.3 基于信用的流控 12.6 总结 第13章 应用容错 13.1 容错保证语义 13.2 检查点与保存点 13.3 作业恢复 13.3.1 检查点恢复 13.3.2 保存点恢复 13.3.3 恢复时的时间问题 13.4 关键组件 13.4.1 检查点协调器 13.4.2 检查点消息 13.5 轻量级异步分布式快照 13.5.1 基本概念 13.5.2 Barrier对齐 13.6 检查点执行过程 13.6.1 JobMaster触发检查点 13.6.2 TaskExecutor执行检查点 13.6.3 JobMaster确认检查点 13.7 检查点恢复过程 13.8 端到端严格一次 13.8.1 两阶段提交协议 13.8.2 两阶段提交实现 13.9 总结 第14章 Flink SQL 14.1 Apache Calcite 14.1.1 Calcite是什么 14.1.2 Calcite的技术特点 14.1.3 Calcite的主要功能 14.1.4 Calcite的核心原理 14.2 动态表 14.2.1 流映射为表 14.2.2 连续查询 14.2.3 流上SQL查询限制 14.2.4 表到流的转换 14.3 TableEnvironment 14.3.1 TableEnvironment体系 14.3.2 TableEnvironment使用示例 14.4 Table API 14.5 SQL API 14.6 元数据 14.6.1 元数据管理 14.6.2 元数据分类 14.7数据访问 14.7.1Table Source 14.7.2Table Slink 14.8 SQL函数 14.9 Planner关键抽象 14.9.1 Expression 14.9.2 ExpressionResolver 14.9.3 Operation 14.9.4 QueryOperation 14.9.5 物理计划节点 14.10 Blink Planner和Flink Planner对比 14.11 Blink与Calcite关系 14.12 Blink SQL执行过程 14.12.1 从SQL到Operation 14.12.2 Operation到Transformation 14.13 Blink Table API执行过程 14.13.1 Table API到Operation 14.13.2 Operation到Transformation 14.14 Flink与Calcite的关系 14.15 Flink SQL执行过程 14.15.1 SQL 到Operation 14.15.2 Operation到DataStream/DataSet 14.16 Flink Table API执行过程 14.17 SQL优化 14.18 Blink优化 14.18.1 优化器 14.18.2 代价计算 14.18.3 优化过程 14.18.4 优化规则 14.18.5 公共子图 14.19 Flink优化 14.19.1 优化器 14.19.2 优化过程 14.19.3 优化规则 14.20 代码生成 14.20.1 为什么进行代码生成 14.20.2 代码生成范围 14.20.3 代码生成示例 14.21 总结 第15章 运维监控 15.1 监控指标 15.2 指标组 15.3 监控集成 15.4 指标注册** 15.5 指标查询服务 15.6 延迟跟踪实现原理 15.7 总结 第16章 RPC框架 16.1 Akka简介 16.1.1 Akka是什么 16.1.2 使用Akka 16.1.3 Akka的通信 16.2 RPC消息的类型 16.3 RPC通信组件 16.3.1 RpcGateway 16.3.2 RpcEndpoint 16.3.3 RpcService 16.3.4 RpcServer 16.3.5 AkkaRpcActor 16.4 RPC交互过程 16.4.1 RPC请求发送 16.4.2 RPC请求响应 16.5总结 专家寄语 参考文献

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外