Utiliser les connecteurs Apache Flink avec le service géré pour Apache Flink - Service géré pour Apache Flink

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser les connecteurs Apache Flink avec le service géré pour Apache Flink

Les connecteurs Apache Flink sont des composants logiciels qui transfèrent des données vers et depuis une application Amazon Managed Service pour Apache Flink. Les connecteurs sont des intégrations flexibles qui vous permettent de lire des fichiers et des répertoires. Les connecteurs sont constitués de modules complets permettant d’interagir avec les services Amazon et les systèmes tiers.

Les types de connecteurs sont les suivants :

  • Sources : fournissez des données à votre application à partir d'un flux de données Kinesis, d'un fichier, d'un sujet Apache Kafka, d'un fichier ou d'autres sources de données.

  • Récepteurs : envoyez des données depuis votre application vers un flux de données Kinesis, un flux Firehose, une rubrique Apache Kafka ou d'autres destinations de données.

  • E/S asynchrones : fournit un accès asynchrone à une source de données telle qu'une base de données pour enrichir les flux.

Les connecteurs Apache Flink sont stockés dans leurs propres référentiels sources. La version et l'artefact des connecteurs Apache Flink changent en fonction de la version d'Apache Flink que vous utilisez et selon que vous utilisez l' DataStreamAPI Table ou SQL.

Amazon Managed Service pour Apache Flink prend en charge plus de 40 connecteurs source et récepteur Apache Flink prédéfinis. Le tableau suivant fournit un résumé des connecteurs les plus courants et de leurs versions associées. Vous pouvez également créer des récepteurs personnalisés à l'aide du framework Async-sink. Pour plus d'informations, consultez The Generic Asynchronous Base Sink dans la documentation d'Apache Flink.

Pour accéder au référentiel des AWS connecteurs Apache Flink, consultez flink-connector-aws.

Lors de la mise à niveau vers Flink 2.2, vous devez mettre à jour les dépendances de votre connecteur vers des versions compatibles avec le runtime Flink 2.x. Les connecteurs Flink sont publiés indépendamment du moteur d'exécution Flink, et tous les connecteurs ne disposent pas encore d'une version compatible avec Flink 2.x. Le tableau suivant résume la disponibilité des connecteurs couramment utilisés dans Amazon Managed Service pour Apache Flink au moment de la rédaction de cet article :

Connecteurs pour Flink 2.2
Connecteur Version 2.0 ou ultérieure de Flink Remarques
Apache Kafka flink-connector-kafka 4,0,0-2,0 Recommandé pour Flink 2.2
Kinesis Data Streams (source) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recommandé pour Flink 2.2
Kinesis Data Streams (récepteur) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recommandé pour Flink 2.2
FileSystem (S3, HDFS) Fourni avec Flink Intégré à la distribution Flink — toujours disponible
JDBC Pas encore sorti pour 2.x Aucune version compatible avec Flink 2.x n'est disponible
OpenSearch Pas encore sorti pour 2.x Aucune version compatible avec Flink 2.x n'est disponible
Elasticsearch Pas encore sorti pour 2.x Envisagez de migrer vers le connecteur OpenSearch
Amazon Managed Service for Prometheus Pas encore sorti pour 2.x Aucune version compatible avec Flink 2.x au moment de la rédaction

Si votre application dépend d'un connecteur qui ne possède pas encore de version 2.2 de Flink, deux options s'offrent à vous : attendre que le connecteur publie une version compatible ou évaluer si vous pouvez le remplacer par une autre version (par exemple, en utilisant le catalogue JDBC ou un récepteur personnalisé).

Problèmes connus

  • Les applications utilisant le chemin KinesisStreamsSource with EFO (Enhanced Fan-Out/ SubscribeToShard) introduit dans les connecteurs v5.0.0 et v6.0.0 peuvent échouer lorsque les flux Kinesis sont repartagés. Il s'agit d'un problème connu au sein de la communauté. Pour plus d'informations, consultez FLINK-37648.

  • Les applications utilisant le chemin KinesisStreamsSource with EFO (Enhanced Fan-Out/ SubscribeToShard) introduit dans les connecteurs v5.0.0 et v6.0.0 KinesisStreamsSink peuvent être bloquées si l'application Flink est soumise à une contre-pression, ce qui entraîne l'arrêt complet du traitement des données dans une ou plusieurs applications. TaskManagers Une opération d'arrêt forcé et une opération de démarrage de l'application sont nécessaires pour récupérer l'application. Il s'agit d'un sous-cas du problème connu dans la communauté : FLINK-34071.

Connecteurs pour les anciennes versions de Flink

Connecteurs pour les anciennes versions de Flink
Connecteur Version 1.15 de Flink Version 1.18 de Flink Versions 1.19 de Flink Versions 1.20 de Flink
Kinesis Data Stream (source) DataStream et API de table 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
API Kinesis Data Stream - Sink - DataStream et Table 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 Source/Sink - - 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
API Kafka DataStream et Table 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 et API Table flink-connector-aws-kinesis-lance à incendie, 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-tuyau à incendie, 4.3.0-1,18 flink-sql-connector-aws-tuyau à incendie, 5.0.0-1,19 flink-sql-connector-aws-tuyau à incendie, 5,0,0-1,20
DynamoDB - et API de table DataStream 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 et API Table - 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 pour Prometheus DataStream - flink-sql-connector-opensearch, 1,2,0-1,18 flink-connector-prometheus, 1,0,0-1,19 flink-connector-prometheus, 1,0-1,20
Amazon SQS DataStream et API de table - 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

Pour en savoir plus sur les connecteurs dans Amazon Managed Service pour Apache Flink, consultez :

Problèmes connus

Il existe un problème connu d'Apache Flink open source avec le connecteur Apache Kafka dans Apache Flink 1.15. Ce problème est résolu dans les versions ultérieures d'Apache Flink.

Pour de plus amples informations, veuillez consulter Problèmes connus.