使用 Flink SQL 将列添加到 table 的语法是什么

What is the syntax to Add a Column to a table using Flink SQL

下面给出的是我使用 flink 创建的 table 的创建语句。

CREATE TABLE event_kafkaTable (
  columnA string,
  columnB string,
  timeofevent string,
  eventTime AS TO_TIMESTAMP(TimestampConverterUtil(timeofevent)),
 WATERMARK FOR eventTime  AS eventTime - INTERVAL '5' SECOND
) WITH (
  'connector' = 'kafka',
  'topic' = 'event_name', 
  'properties.bootstrap.servers'='127.0.0.1:9092',
  'properties.group.id' = 'action_hitGroup',
  'format'= 'json',
  'scan.startup.mode'='earliest-offset',
  'json.fail-on-missing-field'='false', 
  'json.ignore-parse-errors'='true' 
)

上面的 table,监听 Kafka 并将来自名为 event_name 的主题的数据存储在 Kafka 中。现在,我想通过添加一个新列来更改此 table。以下是我在 flink 作业中尝试 运行 的 ALTER 命令:

1. ALTER TABLE event_kafkaTable ADD COLUMN test6 string;
2. ALTER TABLE event_kafkaTable ADD test6 string;

这两个命令都引发了 Flink SQL 解析器异常。

Flink 的官方网站https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/alter.html 没有列出从table 添加或删除列的语法。您能否告诉我,使用 Flink 的 Table API.

向 table 添加或删除列的语法是什么?

(默认)SQL DDL 语法尚不支持此功能,但您可以使用 AddColumnsDropColumns Table API 方法执行这些操作。

This documentation page 有关于如何将它们用于每种支持的语言的示例。