这通常是因为在使用Record Key(记录键) PK模式创建表时,未提供记录键模式。可以在创建表时提供记录键模式。
例如,如果使用CREATE TABLE语句创建表,则应包含以下内容:
CREATE TABLE person (
person_id STRING,
name STRING,
age INT,
...
PRIMARY KEY (person_id) NOT ENFORCED /* RECORD_KEY */
)
COMMENT 'Person table'
WITH (
'record_format'='JSON',
'record_key_format'='AVRO',
'kafka_topic'='person'
);
在此示例中,我们在主键(PRIMARY KEY)定义中包含“NOT ENFORCED”和注释/* RECORD_KEY */,表明此表使用Record Key PK模式。 此外,我们在WITH子句中指定了记录键格式('record_key_format'='AVRO'),以避免缺少记录键模式的错误。
如果表已创建,则可以使用ALTER TABLE语句添加记录键模式。
ALTER TABLE person ADD RECORD_FORMAT='JSON', RECORD_KEY_FORMAT='AVRO';
注意,在使用ALTER TABLE语句添加记录键模式时,可能需要在级联复制(CDC)中断的表上运行此语句。