Как мы используем конфигурации запросов при использовании клиента SQL в Flink SQL?

Как мы используем конфигурации запросов при использовании клиента SQL в Flink SQL?

Таким же образом, как указано в приведенной ниже ссылке для https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streaming/query_configuration.html

Хотите использовать время удержания в состоянии ожидания.


person Nishant Gupta    schedule 17.09.2019    source источник


Ответы (1)


Клиент SQL Flink может читать файл конфигурации YAML при запуске, и этот файл может включать спецификации сохранения состояния простоя. Например, вы можете запустить клиент через

sql-client.sh embedded -e sql-client-config.yaml

где файл конфигурации содержит

execution:
  planner: old                      # optional: either 'old' (default) or 'blink'
  type: streaming                   # required: execution mode either 'batch' or 'streaming'
  result-mode: table                # required: either 'table' or 'changelog'
  max-table-result-rows: 1000000    # optional: maximum number of maintained rows in
                                    #   'table' mode (1000000 by default, smaller 1 means unlimited)
  time-characteristic: event-time   # optional: 'processing-time' or 'event-time' (default)
  parallelism: 1                    # optional: Flink's parallelism (1 by default)
  periodic-watermarks-interval: 200 # optional: interval for periodic watermarks (200 ms by default)
  min-idle-state-retention: 0       # optional: table program's minimum idle state time
  max-idle-state-retention: 0       # optional: table program's maximum idle state time

См. документы подробнее.

person David Anderson    schedule 17.09.2019
comment
Спасибо, Дэвид, за быстрый ответ. Удерживает ли это min-idle-state-retention, max-idle-state-retention для такого запроса, как SELECT sourceKafka. * FROM sourceKafka INNER JOIN badips ON sourceKafka.source.ip = badips.ip ГДЕ sourceKafka.timestamp_received МЕЖДУ CURRENT_TIMESTAMP - INTERVAL '15' MINUTE AND CURRENT_TIMESTAMP; Поскольку группировки нет, и я читал, что эти параметры определяют, как долго сохраняется состояние ключа. - person Nishant Gupta; 17.09.2019
comment
Для такого соединения каждый поток будет иметь ключ IP, так что да, это будет состояние с ключом, которое подчиняется политике сохранения состояния. Но, более того, вам не нужно беспокоиться об этом, потому что при соединении с временным окном Flink SQL автоматически удаляет старые записи, которые стали неактуальными. - person David Anderson; 17.09.2019
comment
Соединение с временным окном, Flink SQL автоматически удалит старые записи, которые стали неактуальными = ›Я тоже так думал ... но когда я попробовал выполнить вышеупомянутый запрос, закончилось пространство кучи более 60 ГБ. Не знаю почему - person Nishant Gupta; 17.09.2019
comment
Это потенциально довольно сложная тема, не подходящая для переполнения стека. Предлагаю вам обратиться за помощью в список рассылки пользователей. - person David Anderson; 17.09.2019
comment
Конечно, Дэвид. Спасибо - person Nishant Gupta; 18.09.2019
comment
Получил ответ от одного из членов команды флинков. Было рекомендовано использовать временные таблицы для аналогичных целей ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/ - person Nishant Gupta; 21.09.2019