使用 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 语法尚不支持此功能,但您可以使用 AddColumns
和 DropColumns
Table API 方法执行这些操作。
This documentation page 有关于如何将它们用于每种支持的语言的示例。
下面给出的是我使用 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 语法尚不支持此功能,但您可以使用 AddColumns
和 DropColumns
Table API 方法执行这些操作。
This documentation page 有关于如何将它们用于每种支持的语言的示例。