O que é o Amazon Managed Service para Apache Flink? - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink era conhecido como Amazon Kinesis Data Analytics 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á.

O que é o Amazon Managed Service para Apache Flink?

Com o Amazon Managed Service para Apache Flink, você pode usar Java, Scala, Python ou SQL para processar e analisar dados de streaming. O serviço permite que você crie e execute código em fontes de streaming e fontes estáticas para realizar análises de séries temporais, alimentar painéis e métricas em tempo real.

Você pode criar aplicativos com a linguagem de sua escolha no Managed Service for Apache Flink usando bibliotecas de código aberto baseadas no Apache Flink. O Apache Flink é uma estrutura popular e um mecanismo para o processamento de fluxos de dados.

O Managed Service for Apache Flink fornece a infraestrutura subjacente para seus aplicativos Apache Flink. Ele lida com os principais recursos, como provisionamento de recursos computacionais, resiliência de failover AZ, computação paralela, escalabilidade automática e backups de aplicativos (implementados como pontos de verificação e instantâneos). Você pode usar os recursos de programação de alto nível do Flink (como operadores, funções, fontes e coletores) da mesma forma que os usa ao hospedar você mesmo a infraestrutura do Flink.

Você tem duas opções para executar suas tarefas do Flink com o Amazon Managed Service para Apache Flink. Com o Managed Service for Apache Flink, você cria aplicativos Flink em Java, Scala ou Python (e incorporadosSQL) usando um IDE de sua escolha e o Apache Flink Datastream ou Table. APIs Com o Managed Service for Apache Flink Studio, você pode consultar interativamente fluxos de dados em tempo real e criar e executar facilmente aplicativos de processamento de streams usando padrões, SQL Python e Scala.

Você pode selecionar o método mais adequado ao seu caso de uso. Se você não tiver certeza, esta seção oferecerá orientação de alto nível para ajudá-lo.

Decision tree for selecting Flink application, Deployed Studio application, or Studio Notebook based on use case and programming experience.

Antes de decidir se quer usar o Amazon Managed Service para Apache Flink ou o Amazon Managed Service para Apache Flink Studio, você deve considerar seu caso de uso.

Se você planeja operar um aplicativo de longa execução que executará cargas de trabalho como streaming ETL ou aplicativos contínuos, considere usar o Managed Service for Apache Flink. Isso ocorre porque você pode criar seu aplicativo Flink usando o Flink APIs diretamente no aplicativo IDE de sua escolha. Desenvolver localmente com você IDE também garante que você possa aproveitar processos e ferramentas comuns do ciclo de vida de desenvolvimento de software (SDLC), como controle de versão de código no Git, automação de CI/CD ou teste unitário.

Se você estiver interessado na exploração de dados ad-hoc, quiser consultar dados de streaming de forma interativa ou criar painéis privados em tempo real, o Managed Service for Apache Flink Studio ajudará você a atingir essas metas com apenas alguns cliques. Usuários familiarizados com isso SQL podem considerar a implantação de um aplicativo de longa duração diretamente do Studio.

nota

Você pode promover seu notebook Studio em um aplicativo de longa duração. No entanto, se você quiser se integrar às suas SDLC ferramentas, como controle de versão de código no Git e automação de CI/CD, ou técnicas como testes unitários, recomendamos o Managed Service for Apache Flink usando o de sua escolha. IDE

Você pode criar aplicativos usando Java, Python e Scala no Managed Service for Apache Flink usando o Apache Flink em um de sua escolha. APIs IDE Você pode encontrar orientações sobre como criar aplicativos usando o Flink Datastream and Table API na documentação. Você pode selecionar o idioma no qual você cria seu aplicativo Flink e o APIs que você usa para melhor atender às necessidades de seu aplicativo e operações. Se você não tiver certeza, esta seção fornece orientação de alto nível para ajudá-lo.

O Apache Flink APIs tem diferentes níveis de abstração que podem afetar a forma como você decide criar seu aplicativo. Eles são expressivos e flexíveis e podem ser usados juntos para criar seu aplicativo. Você não precisa usar apenas um FlinkAPI. Você pode aprender mais sobre o Flink APIs na documentação do Apache Flink.

O Flink oferece quatro níveis de API abstração: Flink SQLAPI, DataStream API Tabela e Função de Processo, que são usados em conjunto com o. DataStream API Tudo isso é compatível com o Amazon Managed Service para Apache Flink. É aconselhável começar com um nível mais alto de abstração sempre que possível. No entanto, alguns recursos do Flink só estão disponíveis com o Datastream, API onde você pode criar seu aplicativo em Java, Python ou Scala. Você deve considerar o uso do Datastream seAPI:

  • Você precisa de um controle refinado sobre o estado

  • Você deseja aproveitar a capacidade de chamar um banco de dados externo ou endpoint de forma assíncrona (por exemplo, para inferência)

  • Você deseja usar cronômetros personalizados (por exemplo, para implementar janelas personalizadas ou tratamento tardio de eventos)

  • Você quer poder modificar o fluxo do seu aplicativo sem redefinir o estado

Apache Flink APIs diagram showing abstraction levels and programming languages for different APIs.
nota

Escolhendo um idioma com o DataStreamAPI:

  • SQLpode ser incorporado em qualquer aplicativo Flink, independentemente da linguagem de programação escolhida.

  • Se você planeja usar o DataStream API, nem todos os conectores são compatíveis com Python.

  • Se você precisar de baixa latência/alto rendimento, considere o Java/Scala, independentemente do. API

  • Se você planeja usar o Async IO nas Funções do Processo, API precisará usar Java.

A escolha do também API pode afetar sua capacidade de desenvolver a lógica do aplicativo sem precisar redefinir o estado. Isso depende de um recurso específico, a capacidade de definir UID operadores, que só está disponível no DataStream API para Java e Python. Para obter mais informações, consulte Definir UUIDs para todos os operadores na documentação do Apache Flink.

Comece a usar aplicativos de streaming de dados

Você pode começar criando um aplicativo do Managed Service for Apache Flink que lê e processa continuamente dados em transmissão. Em seguida, crie seu código usando sua IDE preferência e teste-o com dados de transmissão ao vivo. Você também pode configurar destinos para os quais o Managed Service for Apache Flink enviará os resultados.

Para começar, recomendamos que você leia as seguintes seções:

Como alternativa, você pode começar criando um serviço gerenciado para o notebook Apache Flink Studio que permite consultar interativamente fluxos de dados em tempo real e criar e executar facilmente aplicativos de processamento de fluxo usando padrões, SQL Python e Scala. Com alguns cliques no AWS Management Console, você pode iniciar um notebook sem servidor para consultar fluxos de dados e obter resultados em segundos. Para começar, recomendamos que você leia as seguintes seções: