Managed Service for Apache Flink에서 Apache Flink 커넥터 사용 - Managed Service for Apache Flink

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Managed Service for Apache Flink에서 Apache Flink 커넥터 사용

Apache Flink 커넥터는 Amazon Managed Service for Apache Flink 애플리케이션 내부 및 외부로 데이터를 이동하는 소프트웨어 구성 요소입니다. 커넥터는 파일과 디렉터리에서 읽을 수 있는 유연한 통합 구성 요소입니다. 커넥터는 Amazon 서비스 및 제3자 시스템과 상호 작용하기 위한 완전한 모듈로 구성됩니다.

커넥터 유형은 다음을 포함합니다.

  • 소스: Kinesis 데이터 스트림, 파일, Apache Kafka 주제, 파일 또는 기타 데이터 소스에서 애플리케이션에 데이터를 제공합니다.

  • 싱크: 애플리케이션에서 Kinesis 데이터 스트림, Firehose 스트림, Apache Kafka 주제 또는 기타 데이터 대상으로 데이터를 전송합니다.

  • 비동기 I/O: 스트림을 강화하기 위해 데이터 소스(예: 데이터베이스)에 대한 비동기 액세스를 제공합니다.

Apache Flink 커넥터는 각 커넥터별 자체 소스 리포지토리에 저장됩니다. Apache Flink 커넥터의 버전 및 아티팩트는 사용 중인 Apache Flink 버전과 DataStream, Table 또는 SQL API 사용 여부에 따라 달라집니다.

Amazon Managed Service for Apache Flink는 40개 이상의 사전 구축된 Apache Flink 소스 및 싱크 커넥터를 지원합니다. 다음 표는 가장 인기 있는 커넥터와 연결된 버전 정보를 요약해 제공합니다. 비동기 싱크 프레임워크를 사용하여 사용자 지정 싱크를 빌드할 수도 있습니다. 자세한 내용은 Apache Flink 설명서의 일반 비동기식 베이스 싱크를 참조하세요.

Apache Flink AWS 커넥터의 리포지토리에 액세스하려면 flink-connector-aws를 참조하세요.

Flink 2.2로 업그레이드할 때는 커넥터 종속성을 Flink 2.x 런타임과 호환되는 버전으로 업데이트해야 합니다. Flink 커넥터는 Flink 런타임과 독립적으로 릴리스되며 일부 커넥터에는 아직 Flink 2.x 호환 릴리스가 없습니다. 다음 표에는이 쓰기를 기준으로 Amazon Managed Service for Apache Flink에서 일반적으로 사용되는 커넥터의 가용성이 요약되어 있습니다.

Flink 2.2용 커넥터
커넥터 Flink 2.0 이상 버전 참고
Apache Kafka flink-connector-kafka 4.0.0-2.0 Flink 2.2에 권장
Kinesis Data Streams(소스) flink-connector-aws-kinesis-streams 6.0.0-2.0 Flink 2.2에 권장
Kinesis Data Streams(싱크) flink-connector-aws-kinesis-streams 6.0.0-2.0 Flink 2.2에 권장
FileSystem(S3, HDFS) Flink와 번들로 제공 Flink 배포에 내장 - 항상 사용 가능
JDBC 2.x에 대해 아직 릴리스되지 않음 Flink 2.x 호환 릴리스 사용 불가
OpenSearch 2.x에 대해 아직 릴리스되지 않음 Flink 2.x 호환 릴리스 사용 불가
Elasticsearch 2.x에 대해 아직 릴리스되지 않음 OpenSearch 커넥터로 마이그레이션 고려
– Amazon Managed Service for Prometheus 2.x에 대해 아직 릴리스되지 않음 작성 시 Flink 2.x 호환 릴리스 없음

애플리케이션이 아직 Flink 2.2 릴리스가 없는 커넥터에 의존하는 경우 커넥터가 호환 버전을 릴리스할 때까지 기다리거나 대체 버전으로 바꿀 수 있는지 여부를 평가하는 두 가지 옵션이 있습니다(예: JDBC 카탈로그 또는 사용자 지정 싱크 사용).

알려진 문제

  • 커넥터 v5.0.0 및 v6.0.0에 도입된 EFO(향상된 팬아웃/SubscribeToShard) 경로와 KinesisStreamsSource 함께를 사용하는 애플리케이션은 Kinesis 스트림이 리샤딩될 때 실패할 수 있습니다. 이는 커뮤니티에서 알려진 문제입니다. 자세한 내용은 FLINK-37648을 참조하세요.

  • KinesisStreamsSource와 함께 커넥터 v5.0.0 및 v6.0.0에 도입된 EFO(Enhanced Fan-Out/SubscribeToShard) 경로를 사용하는 애플리케이션은 Flink 애플리케이션에 역압이 가해지면 교착 상태가 발생하여 하나 이상의 TaskManager에서 데이터 처리가 완전히 중지될 KinesisStreamsSink 수 있습니다. TaskManagers 앱을 복구하려면 강제 중지 작업과 시작 앱 작업이 필요합니다. 커뮤니티에서 알려진 문제의 하위 사례인 FLINK-34071입니다.

이전 Flink 버전용 커넥터

이전 Flink 버전용 커넥터
커넥터 Flink 버전 1.15 Flink 버전 1.18 Flink 버전 1.19 Flink 버전 1.20
Kinesis Data Stream - 소스 - DataStream 및 Table API flink-connector-kinesis, 1.15.4 flink-connector-kinesis, 4.3.0-1.18 flink-connector-kinesis, 5.0.0-1.19 flink-connector-kinesis, 5.0.0-1.20
Kinesis Data Stream - 싱크 - DataStream and Table API flink-connector-aws-kinesis-streams, 1.15.4 flink-connector-aws-kinesis-streams, 4.3.0-1.18 flink-connector-aws-kinesis-streams, 5.0.0-1.19 flink-connector-aws-kinesis-streams, 5.0.0-1.20
Kinesis Data Streams - 소스/싱크 - SQL flink-sql-connector-kinesis, 1.15.4 flink-sql-connector-kinesis, 4.3.0-1.18 flink-sql-connector-kinesis, 5.0.0-1.19 flink-sql-connector-kinesis-streams, 5.0.0-1.20
Kafka - DataStream 및 Table API flink-connector-kafka, 1.15.4 flink-connector-kafka, 3.2.0-1.18 flink-connector-kafka, 3.3.0-1.19 flink-connector-kafka, 3.3.0-1.20
Kafka - SQL flink-sql-connector-kafka, 1.15.4 flink-sql-connector-kafka, 3.2.0-1.18 flink-sql-connector-kafka, 3.3.0-1.19 flink-sql-connector-kafka, 3.3.0-1.20
Firehose - DataStream 및 Table API flink-connector-aws-kinesis-firehose, 1.15.4 flink-connector-aws-firehose, 4.3.0-1.18 flink-connector-aws-firehose, 5.0.0-1.19 flink-connector-aws-firehose, 5.0.0-1.20
Firehose - SQL flink-sql-connector-aws-kinesis-firehose, 1.15.4 flink-sql-connector-aws-firehose, 4.3.0-1.18 flink-sql-connector-aws-firehose, 5.0.0-1.19 flink-sql-connector-aws-firehose, 5.0.0-1.20
DynamoDB - DataStream and Table API flink-connector-dynamodb, 3.0.0-1.15 flink-connector-dynamodb, 4.3.0-1.18 flink-connector-dynamodb, 5.0.0-1.19 flink-connector-dynamodb, 5.0.0-1.20
DynamoDB - SQL flink-sql-connector-dynamodb, 3.0.0-1.15 flink-sql-connector-dynamodb, 4.3.0-1.18 flink-sql-connector-dynamodb, 5.0.0-1.19 flink-sql-connector-dynamodb, 5.0.0-1.20
OpenSearch - DataStream and Table API - flink-connector-opensearch, 1.2.0-1.18 flink-connector-opensearch, 1.2.0-1.19 flink-connector-opensearch, 1.2.0-1.19
OpenSearch - SQL - flink-sql-connector-opensearch, 1.2.0-1.18 flink-sql-connector-opensearch, 1.2.0-1.19 flink-sql-connector-opensearch, 1.2.0-1.19
Amazon Managed Service for Prometheus DataStream - flink-sql-connector-opensearch, 1.2.0-1.18 flink-connector-prometheus, 1.0.0-1.19 flink-connector-prometheus, 1.0.0-1.20
Amazon SQS DataStream 및 Table API - flink-sql-connector-opensearch, 1.2.0-1.18 flink-connector-sqs, 5.0.0-1.19 flink-connector-sqs, 5.0.0-1.20

Amazon Managed Service for Apache Flink의 커넥터에 대해 자세히 알아보려면 다음을 참조하세요.

알려진 문제

Apache Flink 1.15의 Apache Kafka 커넥터에 영향을 미치는 알려진 오픈 소스 Apache Flink 문제가 있습니다. 이 문제는 Apache Flink의 이후 버전에서 해결되었습니다.

자세한 내용은 알려진 문제 단원을 참조하십시오.