zoukankan      html  css  js  c++  java
  • Apache Flink 数据流编程模型

    1.抽象层次

    • Flink提供不同的抽象级别开发流/批处理应用程序。
    • 最底层提供有状态流,嵌入到DataStream数据API函数。它允许用户自由从一个或多个流处理事件。
    • Table API是一种围绕表的声明性DSL,可以动态的改变表,无缝的在表和DataStream/DataSet之间转换。

    2.程序与数据流

    • 数据流的基本模块是流和转换。

    3.并行数据流

    • 程序在Flink中是并行的和分布式的。
    • one-to-one或者redistributing模式中,流可以在两个运算符之间转换数据。
    • One-to-one streams(像在Source和map()之间的):保存着元素的分区和顺序。
    • Redistributing streams(像在map() and keyBy/window 或者在keyBy/window and Sink之间的):改变了流的分区,在重新分配模式中,元素之间的排序仅在每对发送和接收子任务中保留。

    4.窗口

    • 流一般是无限的。
    • 窗口可以是时间驱动或者数据驱动的

    5.时间

    • Event Time:事件时间    是一个事件产生的时候的时间,通常被一个时间戳描绘。
    • Ingestion time:摄入时间     是在源操作符,当一个事件进入Flink流时。
    • Processing Time:处理时间   是本地时间,在每个操作符执行基于时间的操作。

    6.状态操作

    7.检查点的容错

    • Flink使用stream replay和checkpointing的组合实现容错。
    • 通过重新从检查点恢复运算符状态和读重演事件,流数据流可以从一个检查点恢复,从而保持一致性。

    8.流中的批处理

    • Flink执行批处理程序当做流处理程序的特殊情况(流是有界的)。
    • 一个数据集在Flink内部中作为数据流。
    • 批处理程序的容错不使用检查点。恢复通过完全重演流,因为流是有限的,所以这是可能的。
    • 在DataSet API中使用简化内存/核外的数据结构,而不是key/value 索引
  • 相关阅读:
    hdu2860 并查集模拟
    hdu 3938 Portal离线并查集
    hdu 2489 Minimal Ratio Tree (DFS枚举+MST)
    hdu 3172 并查集+map
    hdu 1829 A Bug's Life 并查集系列
    hdu 1598 find the most comfortable road
    HDU1198
    【Oracle】【17】表创建后,对表进行操作(添加字段,删除主键约束等)
    【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问
    【JS】【18】当前时间加减一天和格式化时间格式
  • 原文地址:https://www.cnblogs.com/ooffff/p/9416174.html
Copyright © 2011-2022 走看看