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

Flink SQL想试一下CEP这个功能,但是CEP不支持更新 要加这个数据源变成只追加,咋办?

Flink SQL想试一下CEP这个功能,我读的时候mysql 的表 开启了binlog,但是CEP不支持更新 要加这个数据源变成只追加 这个要如何修改啊?
a6bd9d8a9ac9322a1cd5b94d22188784.png
ed548ce9b3c997e1ccbd26df25a2af3f.png
报错:Match Recognize doesn't support consuming update and delete changes which is produced by node TableSourceScan(table=[[lj-orange, orange, chargeorder]], fields=[Id, PatientId, TotalPrice, RecordCreatedTime])

展开
收起
-Feng、冯冯 2024-01-17 09:21:47 36 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要将MySQL表从更新模式更改为只追加模式,您需要执行以下步骤:

    1. 停止MySQL的binlog功能。可以通过修改MySQL配置文件(my.cnf或my.ini)来实现。在[mysqld]部分添加以下行:

      skip-log-bin
      

      然后重启MySQL服务。

    2. 将MySQL表更改为只追加模式。可以使用以下SQL命令:

      ALTER TABLE your_table_name ROW_FORMAT=FIELDS_TERMINATED_BY '\t' LINES_TERMINATED_BY '
      ' ENGINE=InnoDB;
      

      your_table_name替换为您要更改的表名。这将把表的存储引擎更改为InnoDB,并设置字段和行的分隔符。

    3. 重新配置Flink SQL以使用新的数据源。您需要将数据源类型更改为适合只追加模式的类型,例如Kafka、RabbitMQ等。然后,根据新数据源的配置,修改Flink SQL查询以适应新的数据格式。

    完成上述步骤后,您的Flink SQL应该可以正常使用CEP功能了。

    2024-01-17 14:07:48
    赞同 展开评论 打赏
  • 用datastream cdc api 接出来 别用SQL。此回答整理自钉群“实时计算Flink产品交流群”

    2024-01-17 09:48:02
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    AnalyticDB基础版:云原生My SQL 敏捷数仓 立即下载
    第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载
    时序数据库TSDB的SQL与流计算 立即下载