Обмен технологиями

56. Подробное объяснение конфигурации выполнения управления Flink DataStream.

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Обзор
1. Выполнить настройку

StreamExecutionEnvironment СодержитExecutionConfig, что позволяет устанавливать значения конфигурации для конкретного задания во время выполнения.

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
ExecutionConfig executionConfig = env.getConfig();

Ниже приведены доступные параметры конфигурации: (жирным шрифтом по умолчанию)

  • setClosureCleanerLevel() . Уровень очистки закрытия по умолчанию установлен наClosureCleanerLevel.RECURSIVE . Очиститель замыканий удаляет ненужные ссылки на классы вызова анонимных функций в программе Flink. После отключения средства очистки замыканий анонимная функция пользователя может ссылаться на какой-то несериализуемый вызывающий класс. Это приведет к тому, что сериализатор выдаст исключение. Устанавливаемые значения:NONE: полностью отключить очиститель закрытия,TOP_LEVEL: Очищать только классы верхнего уровня, не обращаясь к полям.RECURSIVE: рекурсивно очистить все поля.
  • getParallelism() / setParallelism(int parallelism) . Устанавливает степень параллелизма по умолчанию для заданий.
  • getMaxParallelism() / setMaxParallelism(int parallelism) . Устанавливает максимальный параллелизм по умолчанию для заданий. Этот параметр определяет максимальную степень параллелизма и задает верхнюю границу динамического масштабирования.
  • getNumberOfExecutionRetries() / setNumberOfExecutionRetries(int numberOfExecutionRetries) . Установите количество повторных выполнений невыполненных задач. Нулевое значение эффективно отключает отказоустойчивость.-1 Указывает на использование системных настроек по умолчанию (определенных в конфигурации).Эта конфигурация устарела, используйте вместо нее стратегию перезапуска.
  • getExecutionRetryDelay() / setExecutionRetryDelay(long executionRetryDelay) . Устанавливает задержку (в миллисекундах), которую система ожидает перед повторным выполнением задания после его сбоя. После того как все задачи успешно остановлены в диспетчере задач, задержка рассчитывается, и по ее истечении задачи перезапускаются.Эта конфигурация устарела, используйте вместо нее стратегию перезапуска.
  • getExecutionMode() / setExecutionMode() . Режим выполнения по умолчанию — КОНВЕЙЕРНЫЙ. Установите режим выполнения для выполнения программы. Режим выполнения определяет, будет ли обмен данными осуществляться в пакетном или потоковом режиме.
  • enableForceKryo() / disableForceKryo . Kryo не является обязательным для использования по умолчанию. Заставляет GenericTypeInformation использовать сериализатор Kryo для POJO, даже если они могут быть проанализированы как POJO. В некоторых случаях включение этой конфигурации является предпочтительным. Например, когда внутренний сериализатор Flink не может правильно обрабатывать POJO.
  • enableForceAvro() / disableForceAvro() . Avro не является обязательным для использования по умолчанию. Заставьте Flink AvroTypeInfo использовать сериализатор Avro вместо Kryo для сериализации Avro POJO.
  • enableObjectReuse() / disableObjectReuse() . По умолчанию объекты не используются повторно во Flink. Включение режима повторного использования объектов указывает среде выполнения повторно использовать пользовательские объекты для повышения производительности. Обратите внимание, что это может вызвать ошибки.
  • getGlobalJobParameters() / setGlobalJobParameters() . Этот метод позволяет пользователю установить пользовательский объект в глобальную конфигурацию задания.потому чтоExecutionConfig Доступен для всех определяемых пользователем функций, поэтому это простой способ сделать конфигурации доступными глобально для всех заданий.
  • addDefaultKryoSerializer(Class type, Serializer serializer) . Регистрирует экземпляр сериализатора Kryo для указанного типа.
  • addDefaultKryoSerializer(Class type, Class