Seal^_^【送书活动第2期】——《Flink入门与实战》

Seal^_^【送书活动第2期】——《Flink入门与实战》

  • 一、参与方式
  • 二、本期推荐图书
    • 2.1 作者简介
    • 2.2 编辑推荐
    • 2.3 前 言
    • 2.4 本书特点
    • 2.5 内容简介
    • 2.6 本书适用读者
    • 2.7 书籍目录
  • 三、正版购买

一、参与方式

评论:"掌握Flink,驭大数据,实战无惧!",即可参与成功。

1、关注博主的账号。
2、点赞、收藏、评论博主的文章。
3、在文章下留下评论,每位参与者最多可以评论三次。

📚 本次抽奖将 送出1至3本 书籍,具体数量取决于活动期间的阅读量,阅读量越高,送出的书籍数量也会相应增加。

🕚 活动截止时间为 2024年4月30日晚上8点整。博主将会抽奖程序随机抽取幸运观众,并在动态中公布抽奖结果

如果您有特殊需求或想要获取更多福利,请添加博主的微信号(文末)、加入粉丝福利群

注意: 活动结束后,中奖观众将会收到博主的私信通知,请留意查看您的私信消息、关注博主动态查看中奖信息。

二、本期推荐图书

在这里插入图片描述

2.1 作者简介

汪明,中国矿业大学硕士,徐州软件协会副理事长,某创业公司合伙人。从事软件行业十余年,发表论文数十篇。著有图书《Python大数据处理库PySpark实战》《TypeScript实战》《Go并发编程实战》。

2.2 编辑推荐

1、由于阿里对Flink的收购以及改进,目前Flink社区非常活跃,社区一直致力于统一流处理和批处理API,并逐步增强Flink SQL相关功能,即期望通过SQL来满足大部分的大数据ETL处理场景。

2、Flink在百度、阿里、字节跳动、小米和腾讯等商业巨头中有成熟的应用,每日可以处理万亿的事件,且可以维护TB级别的状态信息。

3、如果你对实时大数据处理感兴趣,致力于构建分布式大数据处理应用程序,并且有一点Java编程基础,那么本书适合你。

4、本书先对Flink基本的安装过程进行说明,并对Flink分布式架构、内部数据处理过程等进行详细分析,最后结合一个综合案例讲解大数据实时处理过程。

5、本书以实例为主线,激发读者的阅读兴趣,让读者能够真正学习到Flink 最实用、最前沿的技术。

2.3 前 言

随着物联网、5G以及大数据技术的发展,人类已经进入大数据时代,毫不夸张地说,未来IT相关的职位,一项必备技能就是大数据处理能力。当前,人类基于大数据和人工智能等技术,在特定领域中可以大大提升业务系统的智能化水平。

人类对于计算速度的追求从未停止,即使面对海量的数据,我们也希望大数据框架可以在非常低的延迟下进行响应,从而提升用户的体验。

主流的分布式大数据计算框架有Storm、Spark和Flink,由于阿里对Flink的收购以及改进,目前Flink社区非常活跃,社区一直致力于统一流处理和批处理API,并逐步增强Flink SQL相关功能,即期望通过SQL来满足大部分的大数据ETL处理场景。另外,随着Flink SQL功能的增强和发展,也大大降低了Flink学习的难度。

目前,Flink在百度、阿里、字节跳动、小米和腾讯等商业巨头中有成熟的应用,每日可以处理万亿的事件,且可以维护TB级别的状态信息。Flink支持多种编程语言,可以用Java、Scala以及Python进行大数据业务处理。与此同时,Flink支持灵活的窗口计算以及乱序数据处理,这相对于其他大数据计算框架来说,有比较强的优势。

如果你对实时大数据处理感兴趣,致力于构建分布式大数据处理应用程序,并且有一点Java编程基础,那么本书适合你。本书作为Flink的入门教材,由浅入深地对Flink大数据处理方法进行介绍,特别对常用的DataStream API和DataSet API、Table API 和SQL进行了详细的说明,最后结合实战项目,将各个知识点有机整合,做到理论联系实际。

本书涉及的技术和框架:

本书涉及的技术和框架包括Flink、IntelliJ IDEA、Java、Kafka、jQuery、HTML5、Node.js、Maven。

2.4 本书特点

(1)理论联系实际。本书先对Flink基本的安装过程进行说明,并对Flink分布式架构、内部数据处理过程等进行详细分析,最后结合示例代码进行说明,做到理论联系实际。

(2)深入浅出、轻松易学。本书以实例为主线,激发读者的阅读兴趣,让读者能够真正学习到Flink 最实用、最前沿的技术。

(3)技术新颖、与时俱进。本书结合当前最热门的技术,如Node.js和HTML5等,让读者在学习Flink的同时,了解更多相关的先进技术。

(4)贴心提醒。本书根据需要在各章使用了很多“注意”小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念。

在这里插入图片描述

2.5 内容简介

Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态的计算,广泛应用于大数据相关的实际业务场景中。本书是一本从零开始讲解Flink的入门教材,学习本书需要有Java编程基础。

本书共分10章,内容包括Flink开发环境搭建、Flink架构和原理、时间和窗口、状态管理和容错机制、数据类型与序列化、DataStream API和DataSet API、Table API和SQL、Flink并行、Flink部署与应用,最后以一个Flink实战项目为例,对Flink相关知识进行综合实践,其中涉及Web页面展示、WebSocket协议和Node.js服务等技术。

本书内容详尽、示例丰富,适合作为Flink初学者必备的参考书,也非常适合作为高等院校和培训机构大数据及相关专业的师生教学参考。

2.6 本书适用读者

1、有一点Java编程基础的初学者

2、大数据处理与分析人员

3、 从事后端开发,对大数据开发有兴趣的人员

4、想用Flink构建大数据应用的人员

5、想从事大数据技术工作的大中专院校学生

6、Java开发和Java架构人员

7、大数据技术培训机构的师生

2.7 书籍目录

第1章 Flink环境搭建 1

1.1 下载安装 1

1.1.1 什么是Flink 1

1.1.2 Flink用户 3

1.1.3 JDK安装 4

1.1.4 Scala安装 7

1.1.5 Python安装 10

1.1.6 FinalShell安装 12

1.2 配置与开发工具 15

1.2.1 基础配置 15

1.2.2 IDEA开发工具 17

1.3 编译 19

1.3.1 Scala项目模板 19

1.3.2 Java项目模板 24

1.3.3 Python项目 28

1.3.4 项目编译 30

1.4 运行Flink应用 31

1.4.1 单机Standalone模式 31

1.4.2 多机Standalone模式 37

1.4.3 On Yarn集群模式 37

1.5 本章小结 38

第2章 定义、架构与原理 39

2.1 流处理的应用场景 39

2.1.1 数据预处理场景 40

2.1.2 预警场景 40

2.1.3 实时数量统计场景 40

2.1.4 数据库交互场景 40

2.1.5 跟踪场景 40

2.1.6 基于数据流的机器学习场景 41

2.1.7 实时自动控制场景 41

2.2 流处理的原理 41

2.2.1 流数据特征 41

2.2.2 Dataflow模型 42

2.2.3 数据流图 43

2.2.4 流处理操作 45

2.2.5 窗口操作 46

2.3 Flink架构分析 49

2.3.1 Flink常见概念 49

2.3.2 Flink主从架构 51

2.3.3 任务和算子链 52

2.4 Flink中的几个语义——Streams、State、Time、API 53

2.4.1 Streams流 53

2.4.2 State状态 54

2.4.3 Time时间 55

2.4.4 API接口 55

2.5 Flink组件 56

2.6 本章小结 57

第3章 时间和窗口 58

3.1 时间 58

3.1.1 Flink中的时间 58

3.1.2 时间的特性 60

3.2 Timestamp和Watermark 61

3.2.1 在SourceFunction中生成 61

3.2.2 在assignTimestampsAndWatermarks中生成 64

3.2.3 Watermarks传播机制 83

3.3 EventTime+Watermark解决乱序数据 95

3.3.1 无迟到的乱序数据 96

3.3.2 有迟到的乱序数据 104

3.4 WindowAssigner、Evictor以及Trigger 109

3.4.1 WindowAssigner 111

3.4.2 Trigger 116

3.4.3 Evictor 122

3.5 Window内部实现 126

3.5.1 Flink Window源码分析 126

3.5.2 Flink Window执行过程 130

3.6 Window使用 131

3.6.1 Time Window 131

3.6.2 Count Window 135

3.6.3 Session Window 138

3.6.4 自定义Window 140

3.7 Window聚合分类 144

3.7.1 增量聚合 144

3.7.2 全量聚合 146

3.8 本章小结 149

第4章 状态管理及容错机制 150

4.1 什么是状态 150

4.2 什么场景会用到状态 150

4.3 状态的类型与使用 151

4.3.1 Keyed State托管状态 152

4.3.2 Operator State托管状态 159

4.4 Checkpoint机制 162

4.4.1 Checkpoint配置 163

4.4.2 State Backends状态后端 164

4.4.3 重启策略 165

4.5 SavePoint机制 169

4.6 本章小结 169

第5章 数据类型与序列化 170

5.1 Flink的数据类型 170

5.1.1 元组类型 171

5.1.2 Java POJOs类型 172

5.1.3 Scala样例类 173

5.1.4 基础类型 174

5.1.5 普通类 175

5.1.6 值类型 177

5.1.7 特殊类型 177

5.2 序列化原理 178

5.3 Flink的序列化过程 181

5.4 序列化的最佳实践 186

5.5 本章小结 186

第6章 DataStream API和DataSet API 187

6.1 DataStream API 187

6.1.1 DataSources数据输入 187

6.1.2 DataSteam转换操作 195

6.1.3 DataSinks数据输出 214

6.2 DataSet API 222

6.2.1 DataSources数据输入 223

6.2.2 DataSet转换操作 227

6.2.3 DataSinks数据输出 235

6.3 迭代计算 238

6.3.1 全量迭代 239

6.3.2 增量迭代 240

6.4 广播变量与分布式缓存 244

6.4.1 广播变量 244

6.4.2 分布式缓存 246

6.5 语义注解 248

6.5.1 Forwarded Fileds注解 248

6.5.2 Non-Forwarded Fileds注解 249

6.5.3 Read Fields注解 250

6.6 本章小结 251

第7章 Table API和SQL 252

7.1 TableEnviroment 252

7.1.1 开发环境构建 253

7.1.2 TableEnvironment基本操作 254

7.1.3 外部连接器 257

7.1.4 时间概念 261

7.1.5 Temporal Tables时态表 263

7.2 WordCount 267

7.3 Table API的操作 268

7.3.1 获取Table 268

7.3.2 输出Table 272

7.3.3 查询Table 275

7.3.4 聚合操作 277

7.3.5 多表关联 278

7.3.6 集合操作 279

7.3.7 排序操作 281

7.4 DataStream、DataSet和Table之间的转换 282

7.4.1 DataStream to Table 283

7.4.2 DataSet to Table 284

7.4.3 Table to DataStream 285

7.4.4 Table to DataSet 287

7.5 window aggregate与non-window aggregate 288

7.6 Flink SQL使用 297

7.6.1 使用SQL CLI客户端 298

7.6.2 在流上运行SQL查询 299

7.6.3 Group Windows窗口操作 300

7.6.4 多表关联 306

7.6.5 集合操作 307

7.6.6 去重操作 308

7.6.7 Top-N操作 310

7.6.8 数据写入 311

7.7 自定义函数 313

7.7.1 Scalar Function 313

7.7.2 Table Function 315

7.7.3 Aggregation Function 317

7.8 本章小结 319

第8章 并行 320

8.1 Flink并行度 320

8.2 TaskManager和Slot 321

8.3 并行度的设置 322

8.3.1 执行环境层面 322

8.3.2 操作算子层面 323

8.3.3 客户端层面 324

8.3.4 系统层面 324

8.3.5 最大并行度 324

8.4 并行度案例分析 325

8.5 本章小结 329

第9章 Flink部署与应用 330

9.1 Flink集群部署 330

9.1.1 Standalone Cluster部署 330

9.1.2 Yarn Cluster部署 333

9.1.3 Kubernetes Cluster部署 334

9.2 Flink高可用配置 340

9.2.1 Standalone集群高可用配置 340

9.2.2 Yarn Session集群高可用配置 341

9.3 Flink安全管理 341

9.3.1 认证目标 341

9.3.2 认证配置 342

9.3.3 SSL配置 343

9.4 Flink集群升级 344

9.4.1 任务重启 344

9.4.2 状态维护 344

9.4.3 版本升级 344

9.5 本章小结 345

第10章 Flink项目实战 346

10.1 实时数据清洗(实时ETL) 346

10.1.1 需求分析 346

10.1.2 项目架构设计 346

10.1.3 项目代码实现 347

10.2 实时数据报表 357

10.2.1 需求分析 357

10.2.2 项目架构设计 357

10.2.3 项目代码实现 357

10.3 本章小结 362

三、正版购买

在这里插入图片描述

有兴趣的朋友可以前往查看。 tmall搜索关键词:

✨ Flink入门与实战,Flink ✨

🛒 链接直达:https://detail.tmall.com/item.htm?spm=a1z10.1-b.w9858442-8055933095.4.fH3HiL&id=651841634753

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/570100.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx配置https及wss

环境说明 服务器的是centos7 nginx版本nginx/1.20.1 springboot2.7.12 nginx安装教程点击这里 微信小程序wss配置 如果您的业务是开发微信小程序&#xff0c; 请先进行如下配置。 boot集成websocket maven <dependency><groupId>org.springframework.boot<…

APP UI自动化测试,思路全总结在这里了

首先想要说明一下&#xff0c;APP自动化测试可能很多公司不用&#xff0c;但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的&#xff0c;所以为了更好的待遇&#xff0c;我们还是需要花时间去掌握的&#xff0c;毕竟谁也不会跟钱过不去。 接下来&#xff0c…

Microsoft Edge:探索你可能未充分利用的8个实用功能

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

实时数据同步工具的真正作用和对应应用场景

在当今商业环境中&#xff0c;企业规模的不断扩大带来了对数据同步的更高要求。实时数据同步解决方案对于确保数据的一致性、提升业务灵活性以及增强决策的精准度具有关键作用。 本文将深入分析实时数据同步技术的关键优势&#xff0c;并探讨其在不同行业场景下的应用价值&…

复习python函数

复习python函数 1.对函数的理解函数的传递方式返回值 return可通过help()函数查看函数说明作用域 2.不定长参数3.递归4.高阶函数将函数作为参数传递将函数作为返回值返回 5.匿名函数6.装饰器 1.对函数的理解 函数可以用来保存一些可执行的代码&#xff0c;并且可以在需要时&am…

前端Vue中async/await、promise 和setTimeout工作原理和执行顺序

前端Vue中async/await、Promise 和 setTimeout 在 JavaScript 中都是处理异步操作的方法&#xff0c;但它们的工作原理和执行顺序有所不同。以下是它们的执行顺序和关系的简要说明&#xff1a; 同步代码执行&#xff1a;在任何异步操作开始之前&#xff0c;首先会执行所有的同步…

vr太阳光参数怎么设置,vr快速渲染方法

VR场景中实现逼真的光照效果&#xff0c;太阳光参数的设置尤为关键。真实的太阳光可提升效果图的质感&#xff0c;论VR太阳光参数的设置技巧&#xff0c;包括光源类型选择、光照强度调整、阴影效果优化等多个方面&#xff0c;喜爱一起来看看vr太阳光真实感设置参数吧。 vr太阳光…

大数据信用风险竟然是这样形成的!查询方法也很简单

在大数据时代背景下&#xff0c;大数据信用风险成为了众多机构关注的焦点。这类风险涵盖了多头借贷、履约行为、联系人以及司法等多个方面。本文将深入解析大数据信用风险的形成原因及其查询方法&#xff0c;让我们一起来探索一下。 大数据信用风险主要表现在以下几个方面&…

Python-GEE遥感云大数据分析、管理与可视化

原文链接&#xff1a;Python-GEE遥感云大数据分析、管理与可视化https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601238&idx2&sn6b0557cf61451eaff65f025d648da869&chksmfa820db1cdf584a76de953b96519704177e6206d4ecd47a2f2fabbcac2f7ea619b0bce184…

Ubuntu镜像下载与安装2024.4版本(超适合新手)

前言&#xff1a; 在VMware中安装Ubuntu镜像&#xff0c;首先需要去下载镜像&#xff0c;但是由于服务器在国外&#xff0c;下载速度相对较慢&#xff0c;国内也有镜像&#xff0c;较推荐在国内镜像站下载&#xff0c;例如阿里镜像和清华镜像。 官网&#xff1a;Ubuntu系统下…

华为 2024 届实习校园招聘-硬件通⽤/单板开发——第八套

华为 2024 届实习校园招聘-硬件通⽤/单板开发——第八套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c…

hover显示播放遮罩层效果

我们都知道视频列表其实是一个封面列表,鼠标放上去时,有反馈:即hover时显示播放遮罩层,点击,跳转到对应的视频播放页。这是目前主流视频网站的一个通用效果。 我们在实现时应该理清思路: 1、每个视频位置处放的是封面图片 2、播放按钮遮罩层需完全覆盖封面图片,并且正…

vLLM-prefix浅析(System Prompt,大模型推理加速)

原文&#xff1a;vLLM-prefix浅析&#xff08;System Prompt&#xff0c;大模型推理加速&#xff09; 简介 本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟&#xff0c;换句话说可以省去这部分…

【做算法学数据结构】二叉树的层序遍历【二叉树】

文章目录 题目二叉树二叉树描述二叉树的java描述和前序遍历、后序遍历、中序遍历 题解总结以及二叉树应用场景 题目 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历…

德思特GNSS模拟器为物流行业保驾护航

作者介绍 一、前言 德思特GNSS模拟器能够在最短的时间内高效、准确的协助完成虹科MSR运输数据记录仪的定位准确性以及抗干扰能力测试&#xff0c;确保在运输或存储过程中&#xff0c;让用户知道何时何地发生了超出预设公差范围的事件&#xff0c;快速、准确的记录定位数据&…

【UE 材质】水波纹效果

效果 模拟雨水打落在水面上的效果 步骤 1. 下载所需纹理和纹理 纹理2. 新建一个材质&#xff0c;这里命名为“M_WaterRipples” 打开“M_WaterRipples”&#xff0c;添加一个纹理采样节点&#xff0c;纹理使用第一步下载的纹理 将纹理采样节点的R通道连接到基础颜色&#x…

李沐57_长短期记忆网络LSTM——自学笔记

LSTM 1.忘记门&#xff1a;将值朝着0减少 2.输入门&#xff1a;决定不是忽略掉输入数据 3.输出门&#xff1a;决定是不是使用隐状态 !pip install --upgrade d2l0.17.5 #d2l需要更新首先加载时光机器数据集。 import torch from torch import nn from d2l import torch a…

Ajax和axios基础

AJAX Asynchronous JavaScript And XML 异步的JavaScript和XML 作用 数据交换: 通过Ajax可以给服务器发送请求,服务器将数据直接响应回给浏览器. 异步交互: 可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术. 同步和异步 同步发送请求: 浏览器发…

阿斯达年代记账号注册教程 阿斯达年代记苹果id注册教程

阿斯达年代记账号注册教程 阿斯达年代记苹果id注册教程 即将开服的新款大型多人角色扮演类游戏阿斯达年代记三强争霸将于4月24号上线&#xff0c;小伙伴们可以在本次开服之后进行游戏&#xff0c;这款游戏除了常规的职业分化之外&#xff0c;目前开放了四种角色供玩家选择&…

getopt, getopt_long使用笔记

An element of argv that starts with - (and is not exactly "-" or "--") is an option element. The characters of this element (aside from the initial -) are option characters. 以-’开头的字符(注意!不是字符串!!)就是命令行参数选项 通…