2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
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)
. 실패한 작업을 다시 실행하는 횟수를 설정합니다. 0 값은 내결함성을 효과적으로 비활성화합니다.-1
시스템 기본값(구성에 정의됨)을 사용함을 나타냅니다.이 구성은 더 이상 사용되지 않습니다. 대신 다시 시작 전략을 사용하세요.getExecutionRetryDelay()
/ setExecutionRetryDelay(long executionRetryDelay)
. 작업이 실패한 후 다시 실행하기 전에 시스템이 기다리는 지연(밀리초)을 설정합니다. TaskManager에서 모든 작업이 성공적으로 중지되면 지연 시간이 계산되고 지연 시간이 지나면 작업이 다시 시작됩니다.이 구성은 더 이상 사용되지 않습니다. 대신 다시 시작 전략을 사용하세요.getExecutionMode()
/ setExecutionMode()
. 기본 실행 모드는 PIPELINED입니다. 프로그램을 실행하기 위한 실행 모드를 설정합니다. 실행 모드는 데이터 교환이 일괄 처리 모드로 수행되는지 아니면 스트리밍 모드로 수행되는지 정의합니다.enableForceKryo()
/ disableForceKryo
. Kryo는 기본적으로 강제로 사용되지 않습니다. POJO로 구문 분석될 수 있더라도 GenericTypeInformation이 POJO에 대해 Kryo 직렬 변환기를 사용하도록 강제합니다. 어떤 경우에는 이 구성을 활성화하는 것이 좋습니다. 예를 들어 Flink의 내부 직렬 변환기가 POJO를 올바르게 처리하지 못하는 경우입니다.enableForceAvro()
/ disableForceAvro()
. Avro는 기본적으로 강제로 사용되지 않습니다. Flink AvroTypeInfo가 Kryo 대신 Avro 직렬 변환기를 사용하여 Avro POJO를 직렬화하도록 합니다.enableObjectReuse()
/ disableObjectReuse()
. 기본적으로 개체는 Flink에서 재사용되지 않습니다. 객체 재사용 모드를 활성화하면 성능 향상을 위해 런타임에 사용자 객체를 재사용하도록 지시합니다. 버그가 발생할 수 있으니 주의하세요.getGlobalJobParameters()
/ setGlobalJobParameters()
. 이 방법을 사용하면 사용자가 작업의 전역 구성에 사용자 정의 개체를 설정할 수 있습니다.왜냐하면ExecutionConfig
모든 사용자 정의 함수에 액세스할 수 있으므로 작업 전반에 걸쳐 구성을 전역적으로 사용할 수 있게 만드는 쉬운 방법입니다.addDefaultKryoSerializer(Class type, Serializer serializer)
. 지정된 형식에 대한 Kryo 직렬 변환기 인스턴스를 등록합니다.addDefaultKryoSerializer(Class type, Class