View a markdown version of this page

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.

  • Assíncrono I/O: 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. Você também pode criar coletores personalizados usando a Async-sink estrutura. 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.x, 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.0+

Conector

Versão 2.2 do Flink

Versão Flink 2.3

Apache Kafka

conector flink-kafka 4.0.0-2.0

conector flink-kafka 4.0.0-2.0

Kinesis Data Streams (fonte)

conector flink-aws-kinesis-streams 6.0.1-2.0

conector flink-aws-kinesis-streams 6.0.1-2.0

Kinesis Data Streams (coletor)

conector flink-aws-kinesis-streams 6.0.1-2.0

conector flink-aws-kinesis-streams 6.0.1-2.0

FileSystem (S3, HDFS)

Empacotado com o Flink

Empacotado com o Flink

JDBC

conector-flink-jdbc-core 4.0.0-2.0

conector-flink-jdbc-core 4.0.0-2.0

OpenSearch

Ainda não foi lançado para 2.x

Ainda não foi lançado para 2.x

Elasticsearch

flink-connector-elasticsearch7 4.0.0-2.0

flink-connector-elasticsearch7 4.0.0-2.0

Amazon Managed Service for Prometheus

Ainda não foi lançado para 2.x

Ainda não foi lançado para 2.x

Se seu aplicativo depende de um conector que ainda não tem uma versão 2.x 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).

nota

A partir da versão 4.0.0-2.0, o conector JDBC é modularizado. O artefato monolítico é substituído por um flink-connector-jdbc artefato central (flink-connector-jdbc-core) e artefatos específicos do banco de dados, como e. flink-connector-jdbc-postgres flink-connector-jdbc-mysql Atualize suas dependências do Maven ou do Gradle adequadamente ao atualizar para o Flink 2.x.

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 bloqueios 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-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 — 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.