簡體   English   中英

Flink SQL 如何使用ROW類型列中的字段?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM