#apache-flink
#apache-flink
Вопрос:
ниже приведена инструкция create для таблицы, которую я создал с помощью flink.
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 и сохраняет данные из темы в Kafka с именем event_name . Теперь я хочу ИЗМЕНИТЬ эту таблицу, добавив новый столбец. Ниже приведены команды ALTER, которые я пытался запустить из своего задания flink:
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 , не содержит синтаксиса для добавления или удаления столбца из таблицы. Не могли бы вы, пожалуйста, сообщить мне, каков синтаксис для добавления или удаления столбца в таблицу с помощью Flink Table API.
Ответ №1:
Это пока не поддерживается синтаксисом SQL DDL (по умолчанию), но вы можете использовать AddColumns
DropColumns
методы API и Table для выполнения этих операций.
На этой странице документации приведены примеры их использования для каждого поддерживаемого языка.