S03012

错误代码

S03012

报错信息

Data insertion failed: Number of columns in the data to insert doesn't match the target table. If you’re trying to persist table, a table with the same name may exist on disk. Consider changing the table name, adjusting the data schema, or deleting the existing table from persistentDir and retrying. RefId: S03012

错误原因

插入流表的数据的列数和流表 schema 不一致。

导致该问题的原因可能如下:

  1. 向流表插入数据时(例如 append!insert into),输入数据的 schema 与当前流表的 schema 不一致。
  2. 使用 enableTableShareAndPersistence 时,节点的持久化目录里已经有同名的持久化流表,并且该持久化流表的 schema 与 enableTableShareAndPersistence 中指定的 schema 不一致。

解决办法

  1. 若在数据插入时遇到该报错,检查流表插入的新数据的 schema,修正后重新进行数据插入操作
  2. 若在 enableTableShareAndPersistence 时遇到该报错,则检查 enableTableShareAndPersistence 的参数 table 的 schema,修正后重新加载。如果不需要已有的持久化流表,可以清空持久化文件然后再开始流表持久化。