[英]How to use a field in ROW type column in Flink SQL?
我在 Flink 中執行 SQL 看起來像這樣:
create table team_config_source (
`payload` ROW(
`before` ROW(
team_config_id int,
...
),
`after` ROW(
team_config_id int,
...
)
),
PRIMARY KEY (`payload`.`after`.`team_config_id`) NOT ENFORCED
) WITH (
'connector' = 'kafka',
'topic' = 'xxx',
'properties.bootstrap.servers' = 'xxx',
'properties.group.id' = 'xxx',
'scan.startup.mode' = 'earliest-offset',
'format' = 'json',
'key.format' = 'json'
)
但是 Flink 給我這個錯誤:
org.apache.flink.table.api.SqlParserException: SQL parse failed. Encountered "." at line 51, column 29.
Was expecting one of:
")" ...
"," ...
我也嘗試用(`payload`.`after`.`team_config_id`)
(`payload.after.team_config_id`)
但 Flink 會說 payload.after.team_config_id column payload.after.team_config_id was not defined
。
我應該如何更正我的 DDL?
我通過刪除PRIMARY KEY
句子來跳過這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.