Amazon Managed Service for Apache Flink(Amazon MSF)는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려져 있었습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Managed Service for Apache Flink 1.19
Managed Service for Apache Flink은 이제 Apache Flink 버전 1.19.1을 지원합니다. 이 섹션에서는 Managed Service for Apache Flink의 Apache Flink 1.19.1을 지원하면서 도입된 새로운 주요 기능과 변경 사항을 소개합니다.
참고
지원되는 이전 Apache Flink 버전을 사용 중이며 기존 애플리케이션을 Apache Flink 1.19.1로 업그레이드하려는 경우, 인플레이스 Apache Flink 버전 업그레이드를 사용하여 업그레이드할 수 있습니다. 자세한 내용은 Apache Flink에 인플레이스 버전 업그레이드 사용 단원을 참조하십시오. 인플레이스 버전 업그레이드를 사용하면 스냅샷, 로그, 지표, 태그, Flink 구성 등을 포함하여 Apache Flink 버전 전반에 걸쳐 단일 ARN을 기준으로 애플리케이션 추적성을 유지할 수 있습니다.
지원되는 기능
Apache Flink 1.19.1은 SQL API에서 명명된 파라미터, 사용자 지정 소스 병렬 처리 그리고 여러 Flink 연산자에 대해 서로 다른 상태 TTL을 설정할 수 있는 기능 등 다양한 개선 사항을 제공합니다.
| 지원되는 기능 | 설명 | Apache Flink 설명서 참조 |
|---|---|---|
| SQL API: SQL 힌트를 사용한 서로 다른 상태 TTL 구성 지원 | 이제 사용자는 스트림 정규 조인 및 그룹 집계에서 상태 TTL을 구성할 수 있습니다. | FLIP-373: SQL 힌트를 사용한 서로 다른 상태 TTL 구성 |
| SQL API: 함수 및 프로시저를 직접적으로 호출하기 위한 명명된 파라미터 지원 | 이제 사용자는 파라미터 순서에 의존하지 않고 명명된 파라미터를 사용할 수 있습니다. | FLIP-378: 함수 및 프로시저를 직접적으로 호출하기 위한 명명된 파라미터 지원 |
| SQL API: SQL 소스의 병렬 처리 설정 | 이제 사용자는 SQL 소스의 병렬 처리를 지정할 수 있습니다. | FLIP-367: 테이블/SQL 소스의 병렬 처리 설정 지원 |
| SQL API: 세션 창 TVF 지원 | 이제 사용자는 세션 창 테이블 값 함수를 사용할 수 있습니다. | FLINK-24024: 세션 창 TVF 지원 |
| SQL API: 창 TVF 집계의 변경 로그 입력 지원 | 이제 사용자는 변경 로그 입력에 대해 창 집계를 할 수 있습니다. | FLINK-20281: 변경 로그 스트림 입력을 지원하는 창 집계 |
|
Python 3.11 지원 |
Flink는 Python 3.11을 지원하며, 이는 Python 3.10 대비 약 10~60% 더 빠릅니다. 자세한 내용은 Python 3.11의 새로운 기능 |
FLINK-33030: Python 3.11 지원 추가 |
| TwoPhaseCommitting 싱크 지표 제공 | 사용자는 2단계 커미팅 싱크에서 커미터 상태와 관련된 통계를 확인할 수 있습니다. | FLIP-371: TwoPhaseCommittingSink의 커미터 생성에 초기화 컨텍스트 제공 |
|
작업 재시작 및 체크포인팅을 위한 트레이스 리포터 |
이제 사용자는 체크포인트 지속 시간 및 복구 추세와 관련된 트레이스를 모니터링할 수 있습니다. Amazon Managed Service for Apache Flink에서는 Slf4j 트레이스 리포터가 기본 활성화되어 있어, 애플리케이션 CloudWatch Logs를 통해 체크포인트 및 작업 트레이스를 모니터링할 수 있습니다. | FLIP-384: TraceReporter를 도입하고 이를 사용하여 체크포인팅 및 복구 트레이스 생성 |
참고
지원 사례
| 옵트인 기능 | 설명 | Apache Flink 설명서 참조 |
|---|---|---|
| 소스가 백로그를 처리하는 동안 더 긴 체크포인팅 간격을 사용할 수 있도록 지원 | 이 기능은 작업 요구 사항에 맞게 구성을 조정해야 하므로 옵트인 방식으로 제공됩니다. | FLIP-309: 소스가 백로그를 처리하는 동안 더 긴 체크포인팅 간격을 사용할 수 있도록 지원 |
| System.out 및 System.err을 Java 로그로 리디렉션 | 이 기능은 옵트인 기능입니다. Amazon Managed Service for Apache Flink에서는 프로덕션에서 기본 Java 로거 사용이 모범 사례이므로 System.out 및 System.err 출력은 기본적으로 무시됩니다. | FLIP-390: System out 및 err를 LOG로 리디렉션하거나 폐기하도록 지원 |
Apache Flink 1.19.1 릴리스 설명서는 Apache Flink 설명서 v1.19.1
Amazon Managed Service for Apache Flink 1.19.1의 변경 사항
기본적으로 활성화되어 있는 트레이스 리포터 로깅
Apache Flink 1.19.1에서는 체크포인트 및 복구 트레이스를 도입하여 사용자가 체크포인트 및 작업 복구 문제를 디버깅하는 데 도움이 됩니다. Amazon Managed Service for Apache Flink에서는 이러한 트레이스가 CloudWatch 로그 스트림에 기록되어 작업 초기화 소요 시간 분석과 체크포인트 크기 이력 기록이 가능합니다.
이제 지수 지연 방식으로 전환된 기본 재시작 전략
Apache Flink 1.19.1에서는 이 지수 지연 재시작 전략이 크게 개선되었습니다. Amazon Managed Service for Apache Flink에서도 Flink 1.19.1부터 기본적으로 지수 지연 재시작 전략을 사용합니다. 이를 통해 사용자 작업은 일시적 오류에서 더 빠르게 복구되며, 재시작이 반복될 경우 외부 시스템에 과부하가 발생하는 것을 방지할 수 있습니다.
백포트된 버그 수정
Amazon Managed Service for Apache Flink는 주요 문제를 해결하기 위해 Flink 커뮤니티에서 제공하는 버그 수정 사항을 백포트하고 있습니다. 따라서 런타임은 Apache Flink 1.19.1 원본 릴리스와 일부 다를 수 있습니다. 다음은 백포트된 버그 수정 목록입니다.
| Apache Flink JIRA 링크 | 설명 |
|---|---|
| FLINK-35531 |
이 수정 사항은 1.17.0에서 도입된 성능 회귀로 인해 HDFS에 대한 쓰기 속도가 느려지는 문제를 해결합니다. |
| FLINK-35157 |
이 수정 사항은 워터마크 정렬을 사용하는 소스에서 완료된 하위 작업을 만나면 Flink 작업이 멈추는 문제를 해결합니다. |
| FLINK-34252 |
이 수정 사항은 잘못된 IDLE 워터마크 상태를 생성하게 하던 워터마크 생성 문제를 해결합니다. |
| FLINK-34252 |
이 수정 사항은 시스템 직접 호출을 줄여 워터마크 생성 중 발생하던 성능 회귀 문제를 해결합니다. |
| FLINK-33936 |
이 수정 사항은 Table API에서 미니 배치 집계 중 중복 레코드가 발생하는 문제를 해결합니다. |
| FLINK-35498 |
이 수정 사항은 Table API UDF에서 명명된 파라미터를 정의할 때 인수 이름 충돌이 발생하는 문제를 해결합니다. |
| FLINK-33192 |
이 수정 사항은 타이머가 적절히 정리되지 않아 창 연산자에서 상태 메모리 누수가 발생하던 문제를 해결합니다. |
| FLINK-35069 |
이 수정 사항은 창 종료 시 타이머를 트리거하는 과정에서 Flink 작업이 멈추는 문제를 해결합니다. |
| FLINK-35832 |
이 수정 사항은 IFNULL이 잘못된 결과를 반환하는 문제를 해결합니다. |
| FLINK-35886 |
이 수정 사항은 역압된 작업이 유휴 상태로 잘못 인식되는 문제를 해결합니다. |
구성 요소
| 구성 요소 | 버전 |
|---|---|
| Java | 11 (권장) |
| Python |
3.11 |
| Kinesis Data Analytics Flink Runtime(aws-kinesisanalytics-runtime) | 1.2.0 |
| 커넥터 | 사용 가능한 커넥터에 관한 자세한 내용은 Apache Flink 커넥터를 참조하세요. |
| Apache Beam (빔 애플리케이션만 해당) |
버전 2.61.0부터 지원됩니다. 자세한 내용은 Flink 버전 호환성 |
알려진 문제
Amazon Managed Service for Apache Flink Studio
Studio는 Apache Zeppelin 노트북을 활용하여 Apache Flink 스트림 처리 애플리케이션을 개발하고 코드를 디버깅하고 실행하기 위한 단일 인터페이스 개발 환경을 제공합니다. Flink 1.19 지원을 위해서는 Zeppelin의 Flink 인터프리터를 업그레이드해야 합니다. 이 작업은 Zeppelin 커뮤니티와 함께 진행될 예정이며, 완료되는 대로 이 노트를 업데이트할 예정입니다. Amazon Managed Service for Apache Flink Studio에서는 Flink 1.15를 계속 사용할 수 있습니다. 자세한 내용은 Studio 노트북 생성을 참조하세요.