[ Flink基础 ] (150)
Flink Program
用户开发的应用程序。 负责将程序代码解 ...
JobManager
负责接收来着Client(Flink ...
ResourceManager
负责资源的管理,在整个 Flink 集 ...
Dispatcher
负责接收用户提供的作业,并且负责为这个 ...
JobMaster
JobMaster负责管理单个JobG ...
TaskManager
负责按照Executor Graph的 ...
数据流图 DataFlow
根据用户使用API编写的代码生成的初始 ...
并行度 Parallism
一个特定算子的子任务数量。默认并行度: ...
并行度优先级
算子设置 > 全局设置 > 集群默认设置 ...
算子链
子任务合并条件是并行度相同,并且是on ...
StreamGraph
根据用户使用Stream API编写的 ...
JobGraph
StreamGraph经过优化后生成的 ...
ExecutionGraph
JobManager根据JobGrap ...
物理执行图
在TaskManager上部署Task ...
任务 Task
一个TaskManager是一个JVM ...
任务槽 Task Slots
TaskManager通过Task S ...
Slot共享组
设置代码 .slotSharingGr ...
任务共享 Slot
Flink允许子任务共享Slot,一个 ...
JVM Overhead
它是为JVM进程预留的其它本地内存,用 ...
SQL
高级API,High-level La ...
Table
高级API,Declarative D ...
DataStream/DataSet API
核心API,Core APIs ...
ProcessFunction
低级API,Stateful Stre ...
部署模式
区别: 单作业模式是通过客户端来提交的 ...
批处理环境
代码:ExecuteEnvironme ...
流处理环境
代码:StreamExecuteEnv ...
TypeInfomation
统一表示数据类型。 ...
TypeHint
类型暗示(type hint)机制解决 ...
逻辑分区 软分区
keyBy算子 ...
水位线 Watermark
基于事件时间提出的概念,自定义的逻辑时 ...
TimestampAssigner
从数据流中的事件数据的某个字段中提取时 ...
WatermarkGenerator
按照既定的方式,基于时间戳生成水位线。 ...
onEvent
为每个到来的事件数据调用该方法。 ...
onPeriodicEmit
周期性调用的方法,默认200ms,可以 ...
数据块
将无限数据切割成有限的“数据块”进行处 ...
存储桶
将数据流切割成有限大小的多个“存储桶” ...
按键分区窗口 Keyed Windows
stream.keyBy(...).w ...
非按键分区窗口 Non-Keyed Windows
stream.windowAll(.. ...
滚动时间窗口
TumblingProcessingT ...
滑动时间窗口
SlidingProcessingTi ...
会话时间窗口
ProcessingTimeSessi ...
滚动事件窗口
TumblingEventTimeWi ...
滑动事件窗口
SlidingEventTimeWin ...
会话事件窗口
EventTimeSessionWin ...
滚动计数窗口
stream.keyBy(...).c ...
滑动计数窗口
stream.keyBy(...).c ...
DataStream
DS (keyBy)-> KS , ...
AllWindowStream
AWS (reduce,aggrega ...
KeyedStream
KS (sum,max,min,red ...
WindowedStream
WS (reduce,aggrete, ...
窗口函数 WindowFunction
stream.keyBy(
处理窗口函数 ProcessWindowFunction
stream.keyBy(
允许延迟 Allowed Lateness
stream.keyBy(...).w ...
测输出流 Side Output
OutputTag
测输出流 Side Output
通常使用处理函数 Process Fu ...
无状态算子
map,flatMap,filter ...
状态生存时间 TTL
time-to-live ...
StateTtlConfig
需要创建StateTtlConfig配 ...
算子状态 Operator State
涉及到重分区后状态的重组分配。 ...
列表状态 ListState
子任务以轮询方式round-robin ...
联合列表状态 UnionListState
子任务以联合重组方式选择要使用的状态项。 ...
广播状态 BroadcastState
以映射结构map的键值对key-val ...
广播状态 Broadcast State
适用于动态配置/动态规则。 ...
状态后端 State Backends
状态的存储访问维护,有一个可插拔的组件 ...
哈希表状态后端 HashMapStateBackend
底层是HashMap结构。 ...
内嵌RocksDB状态后端 EmbeddedRocksDBStateBackend
底层是key-value存储介质。执行 ...
全局配置
flink-conf.yaml 修改 ...
单独配置
为每个作业单独配置 env.setSt ...
检查点 Checkpoint
将某个时间点的所有状态保存下来就是检查 ...
保存流程
检查点保存要等所有任务将同一条数据处理 ...
Chandy-Lamport 算法
Flink采用了基于此算法的分布式快照。 ...
检查点分界线 Checkpoint Barrier
由source端在数据流中插入的一个标 ...
检查点协调器 Checkpoint Coordinator
专门用来协调处理检查点的相关工作。 ...
单个上游向多个下游发送barrier
需要广播出去。 ...
多个上游向单个下游发送barrier
执行 分界线对齐 (barrier a ...
检查点启用
env.enableCheckpoin ...
检查点存储 Checkpoint Storage
env.getCheckpointCo ...
其它配置
checkpointConfig.se ...
创建保存点
bin/flink savepoint ...
重启应用
bin/flink run -s :s ...
一致性概念
一致性就是结果的正确性。 ...
一致性检查点
Flink使用一种轻量级快照机制(检查 ...
端到端(end-to-end)状态一致性
即结果的正确性贯穿整个流处理应用的始终 ...
应用内部
使用checkpoint进行保证。 ...
Source 端
可以重置数据的读取位置。 ...
Sink 端
从故障恢复时候,数据不会重复写入外部系统 ...
幂等写入 Idempotent Writes
即一个操作被重复执行多次,但是修改的结 ...
事务写入 Transactional Writes
应用中一系列的操作,要么全部成功,要么 ...
预写日志 Write-Ahead-Log WAL
先把结果当成状态保存起来,在收到che ...
两阶段提交 Two-Phase-Commit 2PC
实现代码TwoPhaseCommitS ...
预提交
对于每个checkpoint,sink ...
正式提交
收到checkpoint完成时候,才正 ...
Catalog目录
和标准SQL的概念一致,主要用来管理数 ...
连接器表 Connector Tables
通过连接器connector连接到一个 ...
虚拟表 Virtual Tables
创建虚拟试图 tableEnv.cre ...
SQL查询
tableEnv.sqlQuery(" ...
Table API查询
Table API是嵌入式编程语言中的 ...
输出表
tableEnv.executeSql ...
表转换为流 Table to DataStream
tableEnv.toDataStre ...
更新Update查询
定义的结果表的更新日志流中,保护了in ...
追加Append查询
定义的结果表的更新日志流中,只有ins ...
查询限制
有些持续查询的计算代价太高,需要受到限 ...
仅追加Append-Only流
仅通过插入insert来修改的动态表, ...
Insert插入操作
编码为add消息 ...
Delete删除操作
编码为retract消息 ...
Update更新操作
编码为被更改行的retact消息,新行 ...
创建表中定义
create table TmpTab ...
流转换为表中定义
自定义提取时间戳和生成水位线 stre ...
创建表中定义
create table TmpTab ...
流转换为表中定义
定义流 stream = ...; 将 ...
分组窗口 Group Window
老版本中使用 ...
窗口时间 window_time
window_time = windo ...
滚动窗口 Tumbling Windows
tumble(table TmpTab ...
滑动窗口 Hop Wiondows 跳跃窗口
hop(table TmpTable, ...
累积窗口 Cumulate Windows
cumulate(table TmpT ...
分组聚合 Group Aggregation
select user, count( ...
状态TTL
配置项:table.exec.stat ...
窗口聚合 Window Aggregation
select user, window ...
开窗聚合 Over Aggregation (Over聚合)
针对某一行的前后的行数开窗来统计计算。 ...
开窗范围
between ... precedi ...
范围间隔
range between inter ...
行间隔
rows between 5 prec ...
启动客户端
./bin/sql-client.sh ...
设置运行模式
set 'execution.runt ...
Kafka
upsert kafka ...
Hive目录
HiveCatalog ...
Hive元数据
Metastore ...
设置方言
default和hive , set ...
JavaCC (Java Compiler Compiler)
JavaCC 是一个开源的语法分析器生 ...
Apache Calcite
Calcite使用Java CC对SQ ...
Parse阶段
SQL 解析阶段(SQL–>SqlNo ...
Validate阶段
SqlNode 验证(SqlNode– ...
TranslateToRel阶段
生成逻辑计划阶段。语义分析(SqlNo ...
Optimize阶段
优化阶段(Logical RelNod ...
Execute阶段
生成ExecutionPlan,生成物 ...
(+)Trasnformations阶段
Physical Plan使用code ...
(+)Job Graph
ransformations之后生成J ...
Changelog机制 Changelog Mechansim
也可以叫做Retraction机制。 ...
消息类型
flink流处理的动态实时表有三种操作 ...
消息内容
一个update消息有两个内容:upd ...
内部数据结构优化
原有row对象结构:1.占用过多空间; ...
预聚合策略
table.optimizer.agg ...
支持微批
开启支持微批 table.exec.m ...
top-n策略优化
使用计算top n来替代实时计算中的全 ...
链接:
|