阿里云Apache Flink课程学习笔记1

1. 课时2:为什么要学习Apache Flink

1.1 定义

框架,分布式处理引擎,有状态计算Stateful,支持有界、无界数据

1.2 基础概念:

  • 数据流streams——Unbounded stream(有开始,但没定义结束,数据不停进来,没有办法知道什么时候产生结果)、Bounded stream(有始有终,静态数据集,大小固定,可以知道什么时候知道处理结果)

  • State
    Apache Flink支持有状态计算(Stateful):如count,需要保留之前的数据(这些数据就是状态),这些数据要存储在系统中
    无状态计算:数据来一条处理一条,数据不需要留在系统中,如SQL中select、where

  • Time
    Event Time:表征一个事件真正发生的时间(业务的时间)
    Ingestion Time :数据进入flink的时间
    Processing TIme:每个算子处理数据的时间

  • API
    在这里插入图片描述
    越上层表达能力会弱(不会去关注更底层细节的东西),但是业务封装能力变强

1.3 Flink 架构

在这里插入图片描述

1.4 应用场景

  • Data pipeline
  • Data Analytics
  • Data Driven

2. 课时3:Apache Flink概念介绍

——有状态流式处理引擎的基石

2.1 何为“有状态流式处理”

1. 传统批次处理方法

以时间划分将收集到的数据分为一批一批的数据,然后进行处理
假如时间转换跨越了所定义的时间划分?——批处理会:将上一个状态的中介运算结果带到下一个批次运算

2. 理想方法

  • 需要有累积状态,这个累积状态会影响之后每一个数据产生的输出
  • 时间(引擎需要有能力去判断所接收的数据是否已经足够产生最后的结果)
    在这里插入图片描述
    ————对应的就是Stateful Stream Processor

3. 流式处理

  • 数据源无穷无尽,不停地取数据,计算,然后输出

  • 分散式流式处理
    对于多用户的数据处理,会设置不同的key,然后将数据进行划分,根据key保证相同的用户会到相同的instance上进行处理。

  • 有状态分散式流式处理
    有一个变速x, x的状态会影响输出

    • State co-partitioned with the input stream by key(流会被key划分,那么对应产生的状态最后也会累积成累积状态,这个累积状态也会和输入流共同分区??)
    • embedded local state backend(当数据很多,key变得很大时,当前节点的内存可能无法支持如此大的数据,那么就会有对应的状态后端去维护)

2.2 有状态流式处理的挑战

1.状态容错

精确一次的容错保证。需要处理的问题:
在这里插入图片描述

  • 全域一致的快照
  • 分散式状态容错
    在这里插入图片描述
    分散式快照
    check point(检查点)/ checkpoint barrier n

2.状态维护

本地状态后端去维护:
1)JVM heap状态后端适合状态少的 out-of-core
2)RocksDB状态后端 asynchronous快照

3.Event-time处理

Event-time:事件在数据最源头产生的时间戳
在这里插入图片描述
利用Watermarks达到功能:
在这里插入图片描述

4.状态保存和迁移

在这里插入图片描述
保存点(SavePoint):一个手动产生的checkpoint——记录着流式应用中所有运算元的状态
在停止运算之前设置一个保存点,恢复重新执行之后,利用event-time赶上最新的数据,确保结果的一致性

参考视频:
https://edu.aliyun.com/lesson_1999_17864#_17864

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值