登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』深入理解Flink核心设计与实践原理

書城自編碼: 3571209
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 刘洋
國際書號(ISBN): 9787121399114
出版社: 电子工业出版社
出版日期: 2020-11-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 227.7

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
台北人(2024版)
《 台北人(2024版) 》

售價:HK$ 87.4
让孩子更有力量:赋权型家庭教育指南
《 让孩子更有力量:赋权型家庭教育指南 》

售價:HK$ 67.0
白夜追凶(上下)
《 白夜追凶(上下) 》

售價:HK$ 109.8
财富、战争与智慧——二战股市风云录
《 财富、战争与智慧——二战股市风云录 》

售價:HK$ 132.2
低空经济:中国经济发展新引擎
《 低空经济:中国经济发展新引擎 》

售價:HK$ 88.5
汉字学理与小学汉字教学
《 汉字学理与小学汉字教学 》

售價:HK$ 89.6
即将到来的能源战争
《 即将到来的能源战争 》

售價:HK$ 89.4
时刻人文·臆造南洋:马来半岛的神鬼人兽
《 时刻人文·臆造南洋:马来半岛的神鬼人兽 》

售價:HK$ 65.0

 

編輯推薦:
讲解Flink的多种部署方式单机部署、Standalone模式部署、YARN模式部署及相应的高可用设置。
分析Flink分布式开发的基础概念、Flink的流处理开发的基本功能,包括读取数据和输出数据,以及对数据流进行各种转换操作等,同时还讲解如何对开发的Flink应用程序进行本地测试。
讲解Flink在流处理开发中对有状态计算的支持,包括检查点机制、保存点机制、各种状态后端等。
讲解Flink在流处理开发中的高级功能,如窗口操作、时间处理、连接操作、侧端输出操作,以及自定义数据源和自定义数据接收器,同时讲解Apache Kafka连接器对数据源和数据接收器的支持。
介绍Flink在批处理开发中的基本操作,包括读取数据和输出数据,以及对数据集进行的各种转换操作等。
介绍Flink的Table API和SQL如何统一流处理和批处理,以及Table API和SQL在流处理中的一些特别情况,包括动态表、时间属性和时态表等。
介绍Flink中部署程序的基本操作,包括配置程序的执行参数、程序的并行度、程序的重启策略、发布程序的方式等。
內容簡介:
本书从Apache Flink的缘起开始,由浅入深,理论结合实践,全方位地介绍Apache Flink这一处理海量数据集的高性能工具。本书围绕部署、流处理、批处理、Table API和SQL四大模块进行讲解,并详细说明Apache Flink的每个特性的实际业务背景,使读者不仅能编写可运行的Apache Flink程序代码,还能深刻理解并正确地将其运用到合适的生产业务环境中。虽然本书是以Apache Flink技术框架来讲解流计算技术的,但是流计算领域开发所面临的各种问题同样是Java后端开发者在进行服务端开发时所要面临的,如有状态计算、Exactly Once语义等。因此,Apache Flink框架为解决这些问题而设计的方案同样值得Java后端开发者借鉴。本书适合初级和中级软件工程师阅读,未接触过流计算领域的Java开发者也可以从本书中获益。针对初学者,本书提供Windows环境搭建的演示,使不具备Linux系统操作经验的读者也可以快速学习Apache Flink。
關於作者:
国家认证软件设计师,获得Apache Kylin管理员认证。现任某上市咨询公司高级咨询顾问,有多年大数据、流式计算方面的开发经验,对Hadoop、Strom、Flink等大数据计算引擎有着非常深入的理解,积累了丰富的项目实践经验。先后利用相关技术为银行、保险、能源等领域的头部企业解决业务痛点。个人技术博客:www.cnblogs.comintsmaze个人Github项目:github.comintsmaze
目錄
目录
第1章 Apache Flink介绍
1.1 Apache Flink简介
1.1.1 Apache Flink是什么
1.1.2 Apache Flink应用场景
1.2 Apache Flink组件
1.2.1 分层API
1.2.2 作业管理器、任务管理器、客户端
第2章 Apache Flink的安装与部署
2.1 本地模式
2.1.1 安装JDK
2.1.2 下载并安装Flink
2.1.3 本地模式集群
2.1.4 Windows系统部署
2.2 Standalone模式
2.2.1 配置集群免密登录
2.2.2 部署Standalone模式的集群
2.3 YARN模式
2.3.1 在YARN集群中启动一个长期运行的Flink集群
2.3.2 在YARN集群中运行Flink作业
2.3.3 Flink和YARN的交互方式
2.3.4 问题汇总
2.4 Flink集群高可用
2.4.1 Standalone模式下JobManager的高可用
2.4.2 YARN模式下JobManager的高可用
第3章 Apache Flink的基础概念和通用API
3.1 基础概念
3.1.1 数据集和数据流
3.1.2 Flink程序的组成
3.1.3 延迟计算
3.1.4 指定分组数据集合的键
3.1.5 指定转换函数
3.1.6 支持的数据类型
3.2 Flink程序模型
3.2.1 程序和数据流
3.2.2 并行数据流
3.2.3 窗口
3.2.4 时间
3.2.5 有状态计算
3.2.6 容错检查点
3.2.7 状态后端
3.2.8 保存点
3.3 Flink程序的分布式执行模型
3.3.1 任务和任务链
3.3.2 任务槽和资源
3.4 Java的Lambda表达式
3.4.1 类型擦除
3.4.2 类型提示
第4章 流处理基础操作
4.1 DataStream的基本概念
4.1.1 流处理示例程序
4.1.2 数据源
4.1.3 数据流的转换操作
4.1.4 数据接收器
4.2 数据流基本操作
4.2.1 Map
4.2.2 FlatMap
4.2.3 Filter
4.2.4 KeyBy
4.2.5 Reduce
4.2.6 Aggregations
4.2.7 Split和Select
4.2.8 Project
4.2.9 Union
4.2.10 Connect和CoMap、CoFlatMap
4.2.11 Iterate
4.3 富函数
4.3.1 基本概念
4.3.2 代码演示
4.4 任务链和资源组
4.4.1 默认链接
4.4.2 开启新链接
4.4.3 禁用链接
4.4.4 设置任务槽共享组
4.5 物理分区
4.5.1 自定义分区策略
4.5.2 shuffle分区策略
4.5.3 broadcast分区策略
4.5.4 rebalance分区策略
4.5.5 rescale分区策略
4.5.6 forward分区策略
4.5.7 global分区策略
4.6 流处理的本地测试
4.6.1 本地执行环境
4.6.2 集合支持的数据源和数据接收器
4.6.3 单元测试
4.6.4 集成测试
4.7 分布式缓存
4.7.1 注册分布式缓存文件
4.7.2 访问分布式缓存文件
4.7.3 BLOB服务的配置参数
4.7.4 部署到集群中运行
4.8 将参数传递给函数
4.8.1 通过构造函数传递参数
4.8.2 使用ExecutionConfig传递参数
4.8.3 将命令行参数传递给函数
第5章 流处理中的状态和容错
5.1 有状态计算
5.1.1 Operator状态和Keyed状态
5.1.2 托管的Keyed状态
5.1.3 托管的Operator状态
5.2 检查点机制
5.2.1 先决条件
5.2.2 启用和配置检查点机制
5.2.3 目录结构
5.2.4 其他相关的配置选项
5.3 状态后端
5.3.1 MemoryStateBackend
5.3.2 FsStateBackend
5.3.3 RocksDBStateBackend
5.3.4 配置状态后端
5.4 保存点机制
5.4.1 分配操作符id
5.4.2 保存点映射
5.4.3 保存点操作
5.4.4 保存点配置
5.5 广播状态
5.5.1 前置条件
5.5.2 广播函数
5.5.3 代码实现
5.6 调优检查点和大状态
5.6.1 监视状态和检查点
5.6.2 调优检查点
5.6.3 使用异步检查点操作
5.6.4 调优RocksDB
5.6.5 容量规划
5.6.6 压缩
第6章 流处理高级操作
6.1 窗口
6.1.1 窗口的基本概念
6.1.2 窗口分配器
6.1.3 窗口函数
6.1.4 窗口触发器
6.1.5 窗口剔除器
6.1.6 允许数据延迟
6.1.7 窗口的快速实现方法
6.1.8 查看窗口使用组件
6.2 时间
6.2.1 时间语义
6.2.2 事件时间与水印
6.2.3 设置时间特性
6.3 数据流的连接操作
6.3.1 窗口Join
6.3.2 窗口CoGroup
6.3.3 间隔Join
6.4 侧端输出
6.4.1 基于复制数据流的方案
6.4.2 基于Split和Select的方案
6.4.3 基于侧端输出的方案
6.5 ProcessFunction
6.5.1 基本概念
6.5.2 计时器
6.6 自定义数据源函数
6.6.1 SourceFunction接口
6.6.2 ParallelSourceFunction接口
6.6.3 RichParallelSourceFunction抽象类
6.6.4 具备检查点特性的数据源函数
6.7 自定义数据接收器函数
6.7.1 SinkFunction接口
6.7.2 RichSinkFunction抽象类
6.8 数据流连接器
6.8.1 内置连接器
6.8.2 数据源和数据接收器的容错保证
6.8.3 Kafka连接器
6.8.4 安装Kafka的注意事项
6.8.5 Kafka 1.0.0 连接器
6.8.6 Kafka消费者
6.8.7 Kafka生产者
6.8.8 Kafka连接器指标
第7章 批处理基础操作
7.1 DataSet的基本概念
7.1.1 批处理示例程序
7.1.2 数据源
7.1.3 数据接收器
7.2 数据集的基本操作
7.2.1 Map
7.2.2 FlatMap
7.2.3 MapPartition
7.2.4 Filter
7.2.5 Project
7.2.6 Union
7.2.7 Distinct
7.2.8 GroupBy
7.2.9 Reduce
7.2.10 ReduceGroup
7.2.11 Aggregate
7.2.12 Join
7.2.13 OuterJoin
7.2.14 Cross
7.2.15 CoGroup
7.3 将参数传递给函数
7.4 广播变量
7.4.1 注册广播变量
7.4.2 访问广播变量
7.4.3 代码实现
7.5 物理分区
7.5.1 Rebalance
7.5.2 PartitionByHash
7.5.3 PartitionByRange
7.5.4 SortPartition
7.6 批处理的本地测试
7.6.1 本地执行环境
7.6.2 集合支持的数据源和数据接收器
第8章 Table API和SQL
8.1 基础概念和通用API
8.1.1 添加依赖
8.1.2 第一个Hello World表程序
8.1.3 表程序的公共结构
8.1.4 创建一个TableEnvironment
8.1.5 在目录中注册表
8.1.6 查询一个表
8.1.7 DataStream和DataSet API的集成
8.1.8 数据类型到表模式的映射
8.1.9 查询优化
8.2 SQL
8.2.1 指定一个查询
8.2.2 SQL支持的语法
8.2.3 SQL操作
8.2.4 数据类型
8.2.5 保留关键字
8.3 Table API
8.4 自定义函数
8.4.1 标量函数
8.4.2 表函数
8.4.3 聚合函数
8.4.4 自定义函数与运行环境集成
8.5 SQL客户端
8.5.1 启动SQL客户端
8.5.2 配置参数
8.5.3 分离的SQL查询
8.5.4 SQL客户端中的视图
8.5.5 SQL客户端中的时态表
第9章 流处理中的Table API和SQL
9.1 动态表
9.1.1 动态表和连续查询
9.1.2 在数据流中定义动态表
9.1.3 动态表到数据流的转换
9.2 时间属性
9.2.1 基本概念
9.2.2 组窗口
9.2.3 处理时间
9.2.4 事件时间
9.3 动态表的Join
9.3.1 常规Join
9.3.2 时间窗口Join
9.4 时态表
9.4.1 需求背景
9.4.2 时态表函数
9.5 查询配置
9.5.1 查询配置对象
9.5.2 空闲状态保留时间
9.6 连接外部系统
9.6.1 概述
9.6.2 表模式
9.6.3 更新模式
9.6.4 表格式
9.6.5 表连接器
9.6.6 未统一的TableSources和TableSinks
第10章 执行管理
10.1 执行参数
10.1.1 在ExecutionEnvironment中设置参数
10.1.2 在ExecutionConfig中设置参数
10.2 并行执行
10.2.1 操作符级别
10.2.2 执行环境级别
10.2.3 客户端级别
10.2.4 系统级别
10.2.5 设置最大并行度
10.3 重启策略
10.3.1 固定延迟重启策略
10.3.2 故障率重启策略
10.3.3 没有重新启动策略
10.3.4 回退重启策略
10.4 程序打包和部署
10.4.1 打包Flink程序
10.4.2 Web UI(Web管控台)提交
10.4.3 命令行客户端提交
10.5 命令行接口
10.5.1 将Flink程序提交到Flink集群
10.5.2 列出集群中的作业
10.5.3 调整集群中的作业
10.5.4 保存点操作命令
10.6 执行计划
10.6.1 在线可视化工具
10.6.2 Web管控台可视化
內容試閱
为什么要写这本书?
最近几年,在Apache Flink(简称Flink)社区的推动下,国内越来越多的公司开始应用Flink去解决生产问题。笔者在2019年便开始全面从Storm转到Flink。当时正值Flink在国内推广的起步阶段,相关系统性学习资料较少,因此笔者只能通过阅读Flink官网和浏览Flink框架源码进行学习,踩了不计其数的雷。例如,某些特性因为相关描述较少,导致初学者无法真正理解该特性所解决的实际业务背景,或者因为某些特性的示例代码不全,导致初学者无法快速使用该特性编写可运行的代码。本书按照笔者的学习过程来编写大纲,可以帮助初学者快速入门Flink,避免在学习过程中出现各种不必要的问题而浪费时间。
本书内容
本书共10章,其中第2、3、10章是读者必须阅读的章节,其他章节读者可以结合自己的业务情况阅读。
第1章主要介绍Flink分布式处理框架的背景、特性及应用场景。读者可以快速阅读本章以建立对Flink的基本认识。
第2章主要介绍Flink的多种部署方式,重点讲解了它的单机部署、Standalone模式部署、YARN模式部署及相应的高可用设置。读者可以根据自己的业务需求选择其中一种方式搭建Flink。
第3章主要介绍Flink分布式开发的基础概念。这些概念是流处理和批处理开发中的通用概念,为此读者需要仔细阅读本章后再根据自己的业务需求选择阅读相关流处理章节、批处理章节或Table&SQL章节的内容。
第4章主要介绍Flink的流处理开发的基本功能,包括读取数据和输出数据,以及对数据流进行各种转换操作等,同时还讲解了如何对开发的Flink应用程序进行本地测试。读者在阅读完本章后便可以使用Flink进行一些非关键业务程序的开发工作。
第5章主要介绍Flink在流处理开发中对有状态计算的支持,包括检查点机制、保存点机制、各种状态后端等。读者在阅读完本章后便可以使用Flink进行一些关键业务程序的开发工作。
第6章主要介绍Flink在流处理开发中的高级功能,如窗口操作、时间处理、连接操作、侧端输出操作,以及自定义数据源和自定义数据接收器,同时讲解了Apache Kafka连接器对数据源和数据接收器的支持。读者在阅读完本章后便可以使用Flink进行一些关键且复杂的业务程序的开发工作。
第7章主要介绍Flink在批处理开发中的基本操作,包括读取数据和输出数据,以及对数据集进行的各种转换操作等。读者在阅读完本章后便可以使用Flink进行一些离线批处理任务的开发工作。
第8章主要介绍Flink的Table API和SQL如何统一流处理和批处理。Table API和SQL借助Apache Calcite进行查询的解析、校验和优化。它们可以简化用户的开发工作。针对一些常规的业务,开发者只需要写SQL,Flink会自动将SQL转化为流程序或批程序去执行。
第9章主要介绍Table API和SQL在流处理中的一些特别情况,包括动态表、时间属性和时态表等。
第10章主要介绍Flink中部署程序的基本操作,包括配置程序的执行参数、程序的并行度、程序的重启策略、发布程序的方式等。
本书是以Flink 的1.7版本为基础编写的,示例代码均用Java语言进行编写,同时本书的大部分代码均可运行在Flink 的1.8、1.9、1.10版本上。在本书的下载资源中提供了1.8、1.9、1.10版本的变动详情说明,版本变动主要体现在底层优化上,在API的使用方式上并无太大变动,大的差异在于SQL模块(例如在基于流处理的SQL模块中增加了新的特性,以及集成Hive等)。
本书相关资源的下载地址为www.broadview.com.cn39911。对本书的勘误也可以在此网页上提交。
由于个人能力有限,书中难免有疏漏之处,欢迎读者批评指正。
刘洋

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.