当前位置: 首页 > wzjs >正文

网站开发文档教学宜昌网站开发公司

网站开发文档教学,宜昌网站开发公司,wordpress 律师,百度收录的网站标题 --1. 设计目标与工作机制 Upsert-Kafka Connector 核心功能:支持以 Upsert(插入/更新/删除) 模式读写 Kafka 数据,适用于需要动态更新结果的场景(如聚合统计、CDC 数据同步)。数据流类型: 作为 …

1. 设计目标与工作机制

Upsert-Kafka Connector
  • 核心功能:支持以 Upsert(插入/更新/删除) 模式读写 Kafka 数据,适用于需要动态更新结果的场景(如聚合统计、CDC 数据同步)。
  • 数据流类型
    • 作为 Source:消费 Kafka 的 Changelog 流,每条记录表示一个更新或删除事件。若 Key 不存在则为插入(INSERT),存在则为更新(UPDATE),Value 为空则为删除(DELETE)。
    • 作为 Sink:将 Flink 的 Retract 流Changelog 流 写入 Kafka。INSERT/UPDATE 操作写入完整 Value,DELETE 操作写入 Value 为空的墓碑消息。
  • 主键约束:必须定义 PRIMARY KEY,Flink 根据主键值对数据进行分区,确保同一主键的更新/删除消息落在同一 Kafka 分区,保证顺序处理。
通用 Kafka Connector
  • 核心功能:仅支持 Append-only 流,即只能追加数据,无法处理更新或删除操作。
  • 数据流类型:适用于一次性写入的日志型数据(如传感器数据、日志流),无法表达数据变更语义。
  • 主键约束:无需定义主键,数据按业务逻辑或随机分区写入 Kafka。

2. 数据更新与删除的实现

Upsert-Kafka
  • 更新逻辑
    • 通过主键判断数据是否存在:存在则覆盖旧值(UPDATE),不存在则插入(INSERT)。
    • 删除操作通过发送 Value 为空的 Kafka 消息实现(逻辑删除)。
  • 一致性保障:启用 Checkpoint 时支持 至少一次语义,但通过主键的幂等性保证最终一致性(同一主键的多次更新仅最后一次生效)。
通用 Kafka Connector
  • 更新限制:无法直接更新或删除已写入 Kafka 的数据。若需实现类似功能,需业务层自行处理(如通过外部状态存储或流处理逻辑生成全量覆盖数据)。

3. 配置与数据格式

Upsert-Kafka
  • 序列化要求
    • 必须指定 Key 和 Value 的序列化格式(如 JSON、Avro),且 Key 对应主键字段。
    • 支持配置 value.fields-include 控制 Value 是否包含主键字段,或通过 key.fields-prefix 避免字段命名冲突。
  • 示例配置
    CREATE TABLE upsert_table (user_id STRING,pv BIGINT,PRIMARY KEY (user_id) NOT ENFORCED
    ) WITH ('connector' = 'upsert-kafka','key.format' = 'json','value.format' = 'json',...
    );
    
通用 Kafka Connector
  • 序列化要求:仅需指定 Value 的序列化格式,Key 通常不承载业务语义(如随机生成或为空)。
  • 示例配置
    CREATE TABLE append_table (log STRING
    ) WITH ('connector' = 'kafka','value.format' = 'raw',...
    );
    

4. 适用场景

Upsert-Kafka
  • 动态聚合统计:如实时计算用户访问量(PV/UV),结果需随新数据不断更新。
  • CDC 数据同步:将数据库的变更日志(如 MySQL Binlog)写入 Kafka,支持插入、更新、删除操作。
  • 幂等写入:避免因故障重启导致的重复数据问题。
通用 Kafka Connector
  • 日志采集:写入无需更新的原始数据流(如用户行为日志)。
  • 一次性事件:如订单创建、消息通知等仅需追加的场景。

5. 性能与分区策略

  • Upsert-Kafka:根据主键分区,确保同一主键的更新有序,适合高频更新场景,但可能因主键分布不均导致数据倾斜。
  • 通用 Kafka Connector:分区策略灵活(如轮询、Hash),适合均匀分布的数据写入。

总结对比表

特性Upsert-Kafka通用 Kafka Connector
主键要求必须定义 PRIMARY KEY无需主键
数据变更支持支持 INSERT/UPDATE/DELETE仅支持 INSERT(Append-only)
序列化配置需指定 Key 和 Value 格式仅需指定 Value 格式
适用场景动态聚合、CDC 同步、幂等写入日志采集、一次性事件
分区策略按主键分区按业务字段或随机分区
典型错误未定义主键或格式不匹配导致报错无法处理更新操作

通过上述对比可以看出,Upsert-Kafka Connector 更适合需要处理数据变更的场景,而 通用 Kafka Connector 更适用于无需更新的数据流。实际选型需结合业务需求和数据特征。

http://www.dtcms.com/wzjs/563147.html

相关文章:

  • iis添加网站主机名律师事务所手机网站
  • 金昌大型网站建设费用页面设计在哪打开
  • 深圳网站定制公司dedecms 网站还原数据之后 乱码
  • 北京网站建设公司华网天下下wordpress导入数据ftp
  • 合肥网站开发需要多前端开源项目网站
  • 免费的图片做视频在线观看网站如何让网站显示404
  • 响应式网站实例人才网招聘网招聘
  • 西安建设网站的公司简介系统开发步骤
  • 什么网站可以做软件网站程序怎么备份
  • 网页与网站的区别与联系是什么营销网站建设哪里便宜
  • 有些中小网站汕尾网站建设 生意好吗
  • 网站建设新报价图片欣赏什么是搜索引擎优化的核心
  • 空投注册送币网站怎么做网站改版 收录
  • 攀枝花建设规划网站非常好的资讯网站设计
  • 视频网站后台登陆北京市网站公司
  • 公司网站建设费用包括网页源代码能修改吗
  • 外贸网站建设内容包括哪些生成静态页面网站源码
  • 最新网站域名ip查询网站建设方案书简单
  • 公司架设网站费用怎么做分录各大网站推广软件
  • 个人网站主页html5个人网站 网站名称
  • 深圳网站建设建设做网站提高淘宝店排名
  • 自己做签名网站施工企业安全生产评价汇总表最终须由( )签名。
  • 网站漂浮特效怎么做宣传片制作的十大步骤
  • 加强网站队伍建设网站建设 功能需求
  • 做ppt模板网站有哪些内容江门东莞网站建设
  • 不备案的网站的稳定吗设计公司网站需要什么条件
  • 天津做网站贵吗php做网站麻烦吗
  • 网站的建设目标有哪些中文wordpress教程
  • 汕头网站网店建设wordpress 页面分级
  • 网站备案背景幕布打印多大杭州职工业能力建设网站