开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink这个问题怎么解决?

Flink这个问题怎么解决?mysql binlog或holo binlog 写入 kafka 都会记录after、before和op, 有没有参数设置去掉这几个key,只写入after里头的内容2b5668b74f87b84e5ed4f0cfeb32c493.png
https://vvp.console.aliyun.com/web/d4fdf99dfcc54e/zh/#/workspaces/d4fdf99dfcc54e/namespaces/pospalflink-default/operations/stream/1dba985f-7569-4f72-8bf9-5159917061cc/configuration

展开
收起
三分钟热度的鱼 2024-03-27 14:54:31 22 0
2 条回答
写回答
取消 提交回答
  • 在Flink中,如果你想要在从MySQL或Holo的binlog读取数据时只记录after的内容,beforeop`你通常需要根据所使用的具体库或工具进行配置。

    对于MySQL binlog的情况,如果你使用的是Flink的CDC(Change Data Capture)连接器,那么你可以通过配置来指定只捕获after事件。在Flink的MySQL CDC连接器中,你可以设置debezium-json.include.beforedebezium-json.include.op参数为false,以排除beforeop字段。

    对于Holo Binlog的情况,如果你是通过Flink集成的Holo Binlog Source来读取数据,你可需要检查你的Flink作业的配置,看看是否有类似的参数可以设置。

    由于你提供了Aliyun的控制台链接,我无法直接访问你的配置。但是,你可以在Flink的作业配置中找到与你所使用的binlog source相关的配置项,并进行调整。通常,这些配置项会在作业的Configuration对象中设置,或者在作业提交时通过命令行参数指定。

    如果你使用的是Flink的SQL DDL来定义source,你可以在创建source时指定相关的选项,例如:

    CREATE TABLE my_table (
      ...
    ) WITH (
      'connector' = '...', -- 使用的连接器名称,比如 'mysql-c' 或 'holo'
      '...' = '...', -- 其他必要的连接器特定参数
      'debezium-json.include.before' = 'false', -- 仅对MySQL CDC有效
      'debezium-json.include.op' = 'false' -- 仅对MySQL CDC有效
    );
    

    请注意,上述配置项debezium-json.include.beforedebezium-json.include.op是针对Debezium格式的JSON数据,如果你使用的是其他格式,比如Avro,那么这些配置项可能不适用。

    如果你无法找到确切的配置项,建议查阅你所使用的binlog source的文档,或者联系技术支持以获取具体的帮助。此外,确保你的Flink版本与所使用的连接器版本兼容,并且查看是否有可用的更新或补丁,因为新版本可能包含修复或改进的功能。

    2024-03-29 15:35:11
    赞同 1 展开评论 打赏
  • 阿里云大降价~

    在Flink中,可以通过配置Debezium MySQL ConnectorDebezium PostgreSQL Connector来控制写入Kafka的数据内容。具体来说,可以通过设置`in

    2024-03-27 16:10:16
    赞同 1 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载