Uso de los conectores de Apache Flink con Managed Service para Apache Flink - Managed Service para Apache Flink

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de los conectores de Apache Flink con Managed Service para Apache Flink

Los conectores de Apache Flink son componentes de software que transfieren datos hacia y desde una aplicación de Amazon Managed Service para Apache Flink. Los conectores son integraciones flexibles que permiten leer archivos y directorios. Los conectores constan de módulos completos para interactuar con los servicios de Amazon y los sistemas de terceros.

Entre los tipos de conectores, se incluyen:

  • Orígenes: proporcione datos a su aplicación desde un flujo de datos de Kinesis, un archivo, un tema de Apache Kafka u otro origen de datos.

  • Receptores: envíe datos desde su aplicación a un flujo de datos de Kinesis, un flujo de Firehose, un tema de Apache Kafka u otro destino de datos.

  • E/S asíncrona: proporciona acceso asíncrono a un origen de datos (como una base de datos) para enriquecer los flujos.

Los conectores Apache Flink se almacenan en sus propios repositorios de código fuente. La versión y el artefacto de los conectores de Apache Flink cambian en función de la versión de Apache Flink que utilice y de si utiliza la API DataStream Table o SQL.

Amazon Managed Service para Apache Flink admite más de 40 conectores fuente y de recepción de Apache Flink prediseñados. En la siguiente tabla, se proporciona un resumen de los conectores más populares y sus versiones asociadas. También se pueden crear receptores personalizados con el marco Async-Sink. Para obtener más información, consulte The Generic Asynchronous Base Sink en la documentación de Apache Flink.

Para acceder al repositorio de los conectores de Apache Flink AWS , consulte. flink-connector-aws

Al actualizar a Flink 2.2, debe actualizar las dependencias de sus conectores a versiones que sean compatibles con el entorno de ejecución de Flink 2.x. Los conectores Flink se comercializan independientemente del entorno de ejecución de Flink, y no todos los conectores cuentan todavía con una versión compatible con Flink 2.x. En la siguiente tabla se resume la disponibilidad de los conectores más utilizados en Amazon Managed Service para Apache Flink en el momento de escribir este artículo:

Conectores para Flink 2.2
Connector Versión Flink 2.0+ Notas
Apache Kafka flink-connector-kafka 4.0.0-2.0 Recomendado para Flink 2.2
Kinesis Data Streams (fuente) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recomendado para Flink 2.2
Kinesis Data Streams (sumidero) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recomendado para Flink 2.2
FileSystem (S3, HDFS) Incluido con Flink Integrado en la distribución Flink, siempre disponible
JDBC Aún no se ha publicado para la versión 2.x No hay disponible ninguna versión compatible con Flink 2.x
OpenSearch Aún no se ha publicado para la versión 2.x No hay disponible ninguna versión compatible con Flink 2.x
Elasticsearch Aún no se ha publicado para la versión 2.x Considere la posibilidad de migrar al conector OpenSearch
Servicio administrado por Amazon para Prometheus Aún no se ha publicado para la versión 2.x No hay una versión compatible con Flink 2.x en el momento de escribir este artículo

Si su aplicación depende de un conector que aún no tiene una versión Flink 2.2, tiene dos opciones: esperar a que el conector publique una versión compatible o evaluar si puede sustituirlo por una alternativa (por ejemplo, utilizando el catálogo JDBC o un receptor personalizado).

Problemas conocidos

  • Las aplicaciones que utilizan la KinesisStreamsSource ruta EFO (Enhanced Fan-Out/ SubscribeToShard) introducida en los conectores v5.0.0 y v6.0.0 pueden fallar cuando las transmisiones de Kinesis se refragmentan. Se trata de un problema conocido en la comunidad. Para obtener más información, consulte FLINK-37648.

  • Las aplicaciones que utilizan la KinesisStreamsSource ruta EFO (Enhanced Fan-Out/ SubscribeToShard) introducida en los conectores v5.0.0 y v6.0.0 KinesisStreamsSink pueden sufrir bloqueos si la aplicación Flink está sometida a una contrapresión, lo que provoca una interrupción total del procesamiento de datos en una o varias aplicaciones. TaskManagers Para recuperar la aplicación, es necesaria una operación de parada forzada y otra de inicio de la aplicación. Este es un subcaso de un problema conocido en la comunidad: FLINK-34071.

Conectores para versiones anteriores de Flink

Conectores para versiones anteriores de Flink
Connector Flink versión 1.15 Flink versión 1.18 Flink, versión 1.19 Flink, versión 1.20
API de Kinesis Data Stream: fuente DataStream y tabla flink-connector-kinesis, 1.15.4 flink-connector-kinesis, 4,3,0-1,18 flink-connector-kinesis, 5,0-1,19 flink-connector-kinesis, 5,0-0-1,20
API de Kinesis Data Stream: receptáculo DataStream y tabla flink-connector-aws-kinesis-streams, 1.15.4 flink-connector-aws-kinesis-arroyos, 4.3.0-1.18 flink-connector-aws-kinesis-arroyos, 5.0.0-1.19 flink-connector-aws-kinesis-arroyos, 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-1,19 flink-sql-connector-kinesis-arroyos, 5.0.0-1.20
Kafka: y API de tablas DataStream flink-connector-kafka, 1.15.4 flink-connector-kafka, 3.2,0-1,18 flink-connector-kafka, 3,30-1,19 flink-connector-kafka, 3,30-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,30-1,19 flink-sql-connector-kafka, 3,30-1,20
Firehose DataStream y API de tablas flink-connector-aws-kinesis-firehose, 1.15.4 flink-connector-aws-firehose, 4.3,0-1.18 flink-connector-aws-firehose, 5,0-1,19 flink-connector-aws-firehose, 5,0-0-1,20
Firehose - SQL flink-sql-connector-aws-kinesis-manguera de incendios, 1.15.4 flink-sql-connector-aws-manguera de incendios, 4.3.0-1.18 flink-sql-connector-aws-manguera de incendios, 5.0.0-1.19 flink-sql-connector-aws-manguera de incendios, 5.0.0-1.20
DynamoDB DataStream y API de tablas flink-connector-dynamodb, 3.0.0-1.15 flink-connector-dynamodb, 4,30-1,18 flink-connector-dynamodb, 5,0-1,19 flink-connector-dynamodb, 5,0-0-1,20
DynamoDB - SQL flink-sql-connector-dynamodb, 3,0-1,15 flink-sql-connector-dynamodb, 4,30-1,18 flink-sql-connector-dynamodb, 5,0-1,19 flink-sql-connector-dynamodb, 5,0-0-1,20
OpenSearch - DataStream y API de tablas - 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 para Prometheus DataStream - flink-sql-connector-opensearch, 1.2.0-1.18 flink-connector-prometheus, 1,0-1,19 flink-connector-prometheus, 1,0-0-1,20
Amazon SQS DataStream y API de tablas - flink-sql-connector-opensearch, 1.2.0-1.18 flink-connector-sqs, 5,0-1,19 flink-connector-sqs, 5,0-0-1,20

Para obtener más información sobre los conectores de Amazon Managed Service para Apache Flink, consulte:

Problemas conocidos

Existe un problema conocido de código abierto en Apache Flink con el conector Apache Kafka de Apache Flink 1.15. Este problema se resolvió en versiones posteriores de Apache Flink.

Para obtener más información, consulte Problemas conocidos.