Use os conectores do Apache Flink com o Managed Service for Apache Flink - Managed Service for Apache Flink

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use os conectores do Apache Flink com o Managed Service for Apache Flink

Os conectores do Apache Flink são componentes de software que movem dados para dentro e para fora de um aplicativo do Amazon Managed Service for Apache Flink. Os conectores são integrações flexíveis que permitem a leitura de arquivos e diretórios. Os conectores consistem em módulos completos para interagir com os serviços da Amazon e sistemas de terceiros.

Os tipos de conectores incluem o seguinte:

  • Fontes: forneça dados para seu aplicativo a partir de um fluxo de dados do Kinesis, arquivo, tópico do Apache Kafka ou de outras fontes de dados.

  • Coletores: envie dados do seu aplicativo para um fluxo de dados do Kinesis, fluxo do Firehose, tópico do Apache Kafka ou outros destinos de dados.

  • E/S assíncrona: fornece acesso assíncrono a uma fonte de dados como um banco de dados para enriquecer os fluxos.

Os conectores do Apache Flink são armazenados em seus próprios repositórios de origem. A versão e o artefato dos conectores Apache Flink mudam dependendo da versão do Apache Flink que você está usando e se você está usando a API DataStream, Tabela ou SQL.

O Amazon Managed Service for Apache Flink oferece suporte a mais de 40 conectores de origem e coletor pré-construídos do Apache Flink. A tabela a seguir apresenta um resumo dos conectores mais populares e das versões associadas. Também é possível criar coletores personalizados usando a estrutura Async-sink. Para obter mais informações, consulte o título The Generic Asynchronous Base Sink na documentação do Apache Flink.

Para acessar o repositório dos AWS conectores Apache Flink, consulte. flink-connector-aws

Ao atualizar para o Flink 2.2, você precisa atualizar as dependências do conector para versões compatíveis com o tempo de execução do Flink 2.x. Os conectores Flink são lançados independentemente do tempo de execução do Flink, e nem todos os conectores têm uma versão compatível com o Flink 2.x ainda. A tabela a seguir resume a disponibilidade dos conectores comumente usados no Amazon Managed Service para Apache Flink até o momento em que este artigo foi escrito:

Conectores para Flink 2.2
Conector Versão Flink 2.0+ Observações
Apache Kafka flink-connector-kafka 4.0.0-2.0 Recomendado para o Flink 2.2
Kinesis Data Streams (fonte) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recomendado para o Flink 2.2
Kinesis Data Streams (coletor) flink-connector-aws-kinesis-streams 6.0.0-2.0 Recomendado para o Flink 2.2
FileSystem (S3, HDFS) Empacotado com o Flink Integrado à distribuição do Flink — sempre disponível
JDBC Ainda não foi lançado para 2.x Nenhuma versão compatível com o Flink 2.x disponível
OpenSearch Ainda não foi lançado para 2.x Nenhuma versão compatível com o Flink 2.x disponível
Elasticsearch Ainda não foi lançado para 2.x Considere migrar para o conector OpenSearch
Amazon Managed Service for Prometheus Ainda não foi lançado para 2.x Nenhuma versão compatível com o Flink 2.x no momento em que este artigo foi escrito

Se seu aplicativo depende de um conector que ainda não tem uma versão 2.2 do Flink, você tem duas opções: esperar que o conector lance uma versão compatível ou avaliar se você pode substituí-lo por uma alternativa (por exemplo, usando o catálogo JDBC ou um coletor personalizado).

Problemas conhecidos

  • Os aplicativos que usam o caminho KinesisStreamsSource with EFO (Enhanced Fan-Out/ SubscribeToShard) introduzido nos conectores v5.0.0 e v6.0.0 podem falhar quando os streams do Kinesis são refragmentados. Esse é um problema conhecido na comunidade. Para obter mais informações, consulte FLINK-37648.

  • Os aplicativos que usam o caminho KinesisStreamsSource com EFO (Enhanced Fan-Out/ SubscribeToShard) introduzido nos conectores v5.0.0 e v6.0.0 KinesisStreamsSink podem enfrentar impasses se o aplicativo Flink estiver sob contrapressão, resultando na interrupção completa do processamento de dados em um ou mais. TaskManagers Uma operação de parada forçada e uma operação de inicialização do aplicativo são necessárias para recuperar o aplicativo. Este é um subcaso do problema conhecido na comunidade: FLINK-34071.

Conectores para versões mais antigas do Flink

Conectores para versões mais antigas do Flink
Conector Flink versão 1.15 Flink versão 1.18 Flink versões 1.19 Flink versões 1.20
Kinesis Data Stream — API de origem DataStream e tabela 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 — Sink — DataStream e API de tabelas 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 Source/Sink 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 e API de tabela 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 e API de tabelas flink-connector-aws-kinesis- mangueira de incêndio, 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-firemangueira, 1.15.4 flink-sql-connector-aws-mangueira de incêndio, 4.3.0-1.18 flink-sql-connector-aws-mangueira de incêndio, 5.0.0-1.19 flink-sql-connector-aws-mangueira de incêndio, 5.0.0-1.20
DynamoDB DataStream — e API de tabelas 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 e API de tabela - 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.0-1.19 flink-connector-prometheus, 1,0,0-1,20
Amazon SQS DataStream e API de tabelas - 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

Para saber mais sobre conectores no Amazon Managed Service for Apache Flink, consulte:

Problemas conhecidos

Há um problema conhecido do Apache Flink de código aberto com o conector Apache Kafka no Apache Flink versão 1.15. Esse problema foi resolvido em versões posteriores do Apache Flink.

Para obter mais informações, consulte Problemas conhecidos.