Exemplos em Java do Managed Service for Apache Flink - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

Exemplos em Java do Managed Service for Apache Flink

Os exemplos a seguir demonstram como criar aplicativos escritos em Java.

nota

A maioria dos exemplos foi projetada para ser executada localmente, na máquina de desenvolvimento e no IDE de sua escolha, e no Amazon Managed Service for Apache Flink. Esses exemplos demonstram os mecanismos que você pode usar para transmitir os parâmetros do aplicativo e como definir a dependência corretamente para executar o aplicativo nos dois ambientes sem alterações.

Este exemplo ilustra como definir um TypeInfo personalizado em seu registro ou objeto de estado para evitar que a serialização volte para a menos eficiente do Kryo. Isso é necessário, por exemplo, quando seus objetos contêm um List ou Map. Para obter informações, consulte Tipos de dados e serialização na documentação do Apache Flink. O exemplo também mostra como testar se a serialização do objeto se baseia na serialização menos eficiente do Kryo.

Exemplo de código: CustomTypeInfo

Este exemplo mostra um aplicativo simples, lendo de um fluxo de dados do Kinesis e gravando em outro fluxo de dados do Kinesis, usando a API DataStream. O exemplo demonstra como configurar o arquivo com as dependências corretas, como compilar o uber-JAR e depois analisar os parâmetros de configuração, para que você possa executar o aplicativo localmente, no seu IDE e no Amazon Managed Service for Apache Flink.

Exemplo de código: GettingStarted

Este exemplo mostra um aplicativo simples usando a API Table e o SQL. Ele demonstra como integrar a API DataStream com a API Table ou o SQL no mesmo aplicativo Java. Também demonstra como usar o conector DataGen para gerar dados de teste aleatórios de dentro do próprio aplicativo Flink, sem a necessidade de um gerador de dados externo.

Exemplo completo: GettingStartedTable

Este exemplo demonstra como usar o FileSink da API DataStream para gravar arquivos JSON em um bucket do S3.

Exemplo de código: S3Sink

Este exemplo demonstra como configurar uma fonte que consome de um fluxo de dados do Kinesis, usando o consumidor padrão ou o EFO, e como configurar um coletor no fluxo de dados do Kinesis.

Exemplo de código: KinesisConnectors

Este exemplo mostra como enviar dados para o Amazon Data Firehose (anteriormente conhecido como Kinesis Data Firehose).

Exemplo de código: KinesisFirehoseSink

Este exemplo demonstra o uso do conector do coletor Prometheus para gravar dados de séries temporais no Prometheus.

Exemplo de código: PrometheusSink

Este exemplo demonstra quatro tipos de agregação de janelas na API DataStream.

  1. Janela deslizante com base no tempo de processamento

  2. Janela deslizante com base na hora do evento

  3. Janela em cascata com base no tempo de processamento

  4. Janela em cascata com base na hora do evento

Exemplo de código: Windowing

Este exemplo mostra como adicionar métricas personalizadas ao aplicativo Flink e enviá-las às métricas do CloudWatch.

Exemplo de código: CustomMetrics

Este exemplo ilustra como você pode usar os provedores de configuração do Kafka para configurar um armazenamento de chaves e um armazenamento confiável personalizados com certificados para autenticação mTLS para o conector Kafka. Essa técnica permite carregar os certificados personalizados necessários do Amazon S3 e os segredos do AWS Secrets Manager quando o aplicativo é iniciado.

Exemplo de código: Kafka-mTLS-Keystore-ConfigProviders

Este exemplo ilustra como você pode usar os provedores de configuração do Kafka para obter credenciais do AWS Secrets Manager e baixar o armazenamento confiável do Amazon S3 para configurar a autenticação SASL/SCRAM em um conector Kafka. Essa técnica permite carregar os certificados personalizados necessários do Amazon S3 e os segredos do AWS Secrets Manager quando o aplicativo é iniciado.

Exemplo de código: Kafka-SASL_SSL-ConfigProviders

Este exemplo ilustra como você pode usar os provedores de configuração do Kafka na API Table /SQL para configurar um keystore e um armazenamento confiável personalizados com certificados para autenticação mTLS para o conector Kafka. Essa técnica permite carregar os certificados personalizados necessários do Amazon S3 e os segredos do AWS Secrets Manager quando o aplicativo é iniciado.

Exemplo de código: Kafka-mTLS-Keystore-Sql-ConfigProviders

Este exemplo ilustra como aproveitar as saídas laterais no Apache Flink para dividir um fluxo em atributos especificados. Esse padrão é particularmente útil ao tentar implementar o conceito de fila de mensagens não entregues (DLQ) em aplicativos de transmissão.

Exemplo de código: SideOutputs

Este exemplo ilustra como usar a E/S assíncrona do Apache Flink para chamar um endpoint externo de forma sem bloqueio, com novas tentativas para erros recuperáveis.

Exemplo de código: AsyncIO