博客
关于我
60-150-044-使用-Sink-Flink自定义RetractStreamTableSink
阅读量:77 次
发布时间:2019-02-25

本文共 524 字,大约阅读时间需要 1 分钟。

Flink Table/SQL流表Sink分类

Flink中的Table/SQL流表Sink分为三类:AppendStreamTable、RetractStreamTableSink和UpsertStreamTableSink。这些类别主要区分流表的类型,可以归纳为两种主要模式:

  • 插入模式(Insert Mode):对应AppendStreamTable,仅支持插入操作。例如窗口聚合的结果,每个窗口输出唯一,不会影响之前的输出。这种模式适用于需要唯一记录的场景。
  • 重做模式(Redo Mode):对应RetractStreamTableSink和UpsertStreamTableSink。这两种类别不仅支持插入操作,还能执行更新和删除操作。例如全局group by聚合,后续结果会影响之前的输出。RetractStreamTableSink与UpsertStreamTableSink的主要区别在于消息编码格式,后者通常用于支持插入、更新和删除操作。
  • 理解这些模式的区别对于优化流表性能至关重要。Insert模式适用于处理唯一性约束的场景,而Redo模式适用于需要动态更新和删除的场景。选择合适的模式可以显著影响Flink流表的性能和稳定性。

    转载地址:http://sko.baihongyu.com/

    你可能感兴趣的文章
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>
    Mysql 分页语句 Limit原理
    查看>>
    MySql 创建函数 Error Code : 1418
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    MySQL 加锁处理分析
    查看>>