开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

我往Hologres里面插入数据。为什么老是报错?

我往Hologres里面插入数据。为什么老是报错? Caused by: org.apache.flink.table.api.TableException: Could not modify column pay_status from DataType VARCHAR(20) NOT NULL (normalized to STRING NOT NULL) to VARCHAR(20) (normalized to STRING)
at com.alibaba.ververica.connectors.hologres.sink.listener.HologresSchemaChangeListener.lambda$checkModifyColumnTypes$3(HologresSchemaChangeListener.java:204)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at com.alibaba.ververica.connectors.hologres.sink.listener.HologresSchemaChangeListener.checkModifyColumnTypes(HologresSchemaChangeListener.java:190)
at com.alibaba.ververica.connectors.hologres.sink.listener.HologresSchemaChangeListener.onTableChanged(HologresSchemaChangeListener.java:71)
at org.apache.flink.table.runtime.operators.evolution.SchemaEvolutionOperator.lambda$notifySchemaChange$1(SchemaEvolutionOperator.java:191)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.apache.flink.table.runtime.operators.evolution.SchemaEvolutionOperator.notifySchemaChange(SchemaEvolutionOperator.java:191)
at org.apache.flink.table.runtime.operators.evolution.SchemaEvolutionOperator.processElement(SchemaEvolutionOperator.java:163)
at org.apache.flink.streaming.runtime.tasks.ChainingOutput.pushToOperator(ChainingOutput.java:94)
... 33 more

展开
收起
真的很搞笑 2023-12-25 08:08:43 77 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    尝试修改列类型,Hologres不支持这种修改。具体来说,您尝试修改将名为“pay_status”的列修改为,但是Hologres无法完成这种VARCHAR(20) NOT NULL修改VARCHAR(20)。
    要解决这个问题,您需要确保在向Hologres插入数据之前,表结构已经正确设置。这可能意味着您需要更改Hologres表结构以匹配您要插入的数据,或者更改您的数据以匹配Hologres表结构。
    如果您想了解更多有关此错误的信息,可以查阅 Hologres 的文档以了解有关数据类型和列约束的信息。

    https://www.alibabacloud.com/help/zh/hologres/

    2023-12-25 08:57:32
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载