Managed Service for Apache Flink: como funciona - 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.

Managed Service for Apache Flink: como funciona

O Managed Service for Apache Flink é um serviço Amazon totalmente gerenciado que permite usar um aplicativo Apache Flink para processar dados de transmissão. Em primeiro lugar, programe o aplicativo Apache Flink e, em seguida, crie seu aplicativo Managed Service for Apache Flink.

Programe seu aplicativo Apache Flink

Um aplicativo Apache Flink é um aplicativo Java ou Scala criado com a estrutura Apache Flink. Você cria e constrói seu aplicativo Apache Flink localmente.

Os aplicativos usam principalmente a API DataStream ou a API de tabela. As outras APIs do Apache Flink também estão disponíveis para uso, mas são menos usadas na criação de aplicativos de transmissão.

Os atributos das duas APIs são:

API de fluxo de dados

O modelo de programação da API DataStream do Apache Flink é baseado em dois componentes:

  • Fluxo de dados: a representação estruturada de um fluxo contínuo de registros de dados.

  • Operador de transformação: usa um ou mais fluxos de dados como entrada e produz um ou mais fluxos de dados como saída.

Os aplicativos criados com a API DataStream fazem o seguinte:

  • Leem dados de uma fonte de dados (como um fluxo do Kinesis ou um tópico do Amazon MSK).

  • Aplicam transformações aos dados, como filtragem, agregação ou enriquecimento.

  • Gravam os dados transformados em um coletor de dados.

Os aplicativos que usam a API DataStream podem ser escritos em Java ou Scala e podem ser lidos de um fluxo de dados Kinesis, de um tópico do Amazon MSK ou de uma fonte personalizada.

Seu aplicativo processa dados usando um conector. O Apache Flink usa os tipos de conectores a seguir:

  • Fonte: um conector usado para ler dados externos.

  • Coletor: um conector usado para gravar em locais externos.

  • Operador: um conector usado para processar dados dentro do aplicativo.

Um aplicativo típico consiste em pelo menos um fluxo de dados com uma fonte, um fluxo de dados com um ou mais operadores e pelo menos um coletor de dados.

Para obter mais informações sobre como usar a API DataStream, consulte Analise os componentes da API DataStream.

API de tabela

O modelo de programação da API de tabela do Apache Flink é baseado nos seguintes componentes:

  • Ambiente de tabela: uma interface para dados subjacentes usado para criar e hospedar uma ou mais tabelas.

  • Tabela: um objeto que fornece acesso a uma tabela ou exibição SQL.

  • Fonte da tabela: usada para ler dados de uma fonte externa, como um tópico do Amazon MSK.

  • Função de tabela: uma consulta SQL ou chamada de API usada para transformar dados.

  • Coletor de tabela: usado para gravar dados em um local externo, como um bucket do Amazon S3.

Os aplicativos criados com a API de tabela fazem o seguinte:

  • Criam um TableEnvironment conectando-se a um Table Source.

  • Criam uma tabela no TableEnvironment usando as funções de consultas SQL ou API de tabela.

  • Executam uma consulta na tabela usando a API de tabela ou SQL

  • Aplicam transformações nos resultados da consulta usando funções de API de tabela ou consultas SQL.

  • Gravam os resultados da consulta ou função em um Table Sink.

Os aplicativos que usam a API de tabela podem ser escritos em Java ou Scala e podem consultar dados usando chamadas de API ou consultas SQL.

Para obter mais informações sobre como usar a API de tabela, consulte Analisar os componentes da API Table.

Crie seu aplicativo Managed Service for Apache Flink

O Managed Service for Apache Flink é um serviço AWS que cria um ambiente para hospedar seu aplicativo Apache Flink e fornece as seguintes configurações:

Você pode criar seu aplicativo Managed Service for Apache Flink usando o console ou o AWS CLI. Para começar a criar um aplicativo Managed Service for Apache Flink, consulte Tutorial: conceitos básicos no uso da API DataStream no Managed Service for Apache Flink.