【问题标题】:What is the syntax to Add a Column to a table using Flink SQL使用 Flink SQL 向表中添加列的语法是什么
【发布时间】:2020-11-26 22:56:25
【问题描述】:

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

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' 
)

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

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

这两个命令都引发了 Flink SQL Parser 异常。

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

【问题讨论】:

    标签: apache-flink


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-28
      • 2021-10-29
      • 2021-02-11
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多