开发者社区 问答 正文

Flink报错:Table sink 'a' doesn't support consuming u

已解决

Flink报错:Table sink 'a' doesn't support consuming update and delete changes which is produced by node

展开
收起
阿里云服务支持 2022-12-20 14:19:59 1323 分享 版权
1 条回答
写回答
取消 提交回答
  • 官方回答

    Flink语法检查报错详情:org.apache.flink.table.api.TableException: Table sink 'xxx' doesn't support consuming update and delete changes which is produced by node xxx(xxx) at

    org.apache.flink.table.planner.plan.optimize.traitinference.SatisfyModifyKindSetTraitVisitor.applyTraitToWrapper(SatisfyModifyKindSetTraitVisitor.java:493) at

    org.apache.flink.table.planner.plan.optimize.traitinference.SatisfyModifyKindSetTraitVisitor.visit(SatisfyModifyKindSetTraitVisitor.java:345)。

    报错原因:append only类型结果表存储(kafka、sls、datahub 等)无法接收上游 update(retract/撤回)记录。

    解决方案:上游涉及retract,如:双流 left join、last value、last row、双层 groupAGG等,请使用支持写入update记录的 sink,如upsert kafka、rds、Hologres、hbase等支持主键更新的存储做结果表。

    2022-12-20 14:27:50
    赞同 展开评论