Crie pipelines de streaming de ponta a ponta com o Amazon Managed Service for Apache Flink Blueprints com um único clique. Saiba mais.
Geral
A análise interativa ajuda a transmitir a exploração de dados em tempo real. Com programas ou consultas ad hoc, é possível inspecionar fluxos do Amazon MSK ou do Amazon Kinesis Data Streams e visualizar a aparência dos dados nesses fluxos. Por exemplo, você pode visualizar como uma métrica em tempo real que calcula a média em uma janela de tempo se comporta e enviar os dados agregados a um destino de sua escolha. A análise interativa também ajuda no desenvolvimento iterativo de aplicações de processamento de fluxos. As consultas que você cria são atualizadas continuamente à medida que novos dados chegam. Com o Amazon Managed Service for Apache Flink, você pode implantar essas consultas para execução contínua com ajuste de escala automático e backups de estado duráveis habilitados.
Conceitos básicos
O Amazon Managed Service for Apache Flink escala de maneira elástica a aplicação para acomodar o throughput de dados do fluxo de origem e da complexidade da consulta para a maioria dos cenários. Para obter informações detalhadas sobre os limites do serviço para aplicações do Apache Flink, acesse a seção de limites no Guia do desenvolvedor do Amazon Managed Service for Apache Flink.
Sim, usando os conectores do Apache Flink DataStream, as aplicações do Amazon Managed Service for Apache Flink podem usar o AWS Glue Schema Registry, um atributo sem servidor do AWS Glue. Você pode integrar o Apache Kafka, o Amazon MSK e o Amazon Kinesis Data Streams, como um coletor ou uma fonte, com suas workloads do Amazon Managed Service for Apache Flink. Acesse o Guia do desenvolvedor do AWS Glue Schema Registry para começar e saber mais.
Principais conceitos
- Entrada: a entrada é a fonte de streaming da aplicação. Na configuração de entrada, mapeie as fontes de streaming para fluxos de dados. Os dados fluem das fontes de dados para os fluxos de dados. Você processa dados desses fluxos de dados usando o código da aplicação, enviando dados processados para destinos ou fluxos de dados subsequentes. Adicione entradas ao código das aplicações do Apache Flink e dos cadernos do Studio e à API em aplicações do Amazon Managed Service for Apache Flink.
- Código da aplicação: o código da aplicação é uma série de operadores do Apache Flink que processam entradas e produzem saídas. Em sua forma mais simples, o código da aplicação pode ser um único operador do Apache Flink que lê um fluxo de dados associado a uma fonte de streaming e grava em outro fluxo de dados associado a uma saída. Para um caderno do Studio, isso poderia ser uma consulta simples de seleção do Flink SQL, com os resultados exibidos no contexto dentro do caderno. Você pode escrever o código Apache Flink nas linguagens compatíveis com aplicações do Amazon Managed Service for Apache Flink ou cadernos do Studio.
- Saída: você pode configurar, como opção, uma saída de aplicação para manter os dados em um destino externo. Adicione essas saídas ao código das aplicações do Amazon Managed Service for Apache Flink e dos cadernos Studio.
P: Que código de aplicação é compatível?
Gerenciamento de aplicações
- Monitoring Amazon Managed Service for Apache Flink no Guia do desenvolvedor do Amazon Managed Service for Apache Flink.
- Monitoring Amazon Managed Service for Apache Flink no Guia do desenvolvedor do Amazon Managed Service for Apache Flink Studio.
P: Como faço para gerenciar e controlar o acesso às minhas aplicações do Amazon Managed Service for Apache Flink?
- Granting permissions no Guia do desenvolvedor do Amazon Managed Service for Apache Flink.
- Granting permissions no Guia do desenvolvedor do Amazon Managed Service for Apache Flink Studio.
P: De que maneira o Amazon Managed Service for Apache Flink escala minha aplicação?
O Amazon Managed Service for Apache Flink escala de maneira elástica a aplicação para acomodar o throughput de dados do fluxo de origem e a complexidade da consulta para a maioria dos cenários. O Amazon Managed Service for Apache Flink provisiona a capacidade na forma de KPUs da Amazon. Uma KPU fornece 1 vCPU e 4 GB de memória.
Preço e faturamento
É cobrada uma taxa por hora com base no número de KPUs usadas para executar a aplicação de transmissão. Uma KPU única é uma unidade de capacidade de processamento de fluxos composta por 1 vCPU e 4 GB de memória. O Amazon Managed Service for Apache Flink escala automaticamente o número de KPUs necessárias para sua aplicação de processamento de fluxo, já que as demandas de memória e de computação variam em resposta à complexidade de processamento e ao throughput de dados de transmissão processados.
Desenvolver aplicações do Apache Flink
Criar código da aplicação para aplicações do Apache Flink no IDE
DataStream <GameEvent> rawEvents = env.addSource(
New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId,
event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
.keyBy(1)
.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
.apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
Será possível criar operadores personalizados se eles não atenderem às suas necessidades. Encontre mais exemplos na seção de operadores do Guia do desenvolvedor do Amazon Managed Service for Apache Flink. Você pode encontrar uma lista completa dos operadores do Apache Flink na documentação do Apache Flink.
- Fontes de dados de transmissão: Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams Destinos ou coletores: Amazon Kinesis Data Streams
- Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service e Simple Storage Service (Amazon S3) (por meio de integrações do coletor de arquivos)
P: As aplicações do Amazon Managed Service for Apache Flink podem replicar dados entre fluxos e tópicos?
Desenvolver aplicações do Amazon Managed Service for Apache Flink em um caderno gerenciado
P: Como desenvolver uma aplicação do Studio?
Você pode começar com os consoles do Amazon Managed Service for Apache Flink Studio, Amazon Kinesis Data Streams ou Amazon MSK em poucas etapas para iniciar um caderno sem servidor para consultar imediatamente fluxos de dados e realizar análises de dados interativas.
Análises de dados interativas: você pode gravar o código no caderno em SQL, Python ou Scala para interagir com seus dados de transmissão, com tempos de resposta de consulta em segundos. Você pode usar visualizações integradas para explorar os dados, visualizar insights em tempo real sobre seus dados de transmissão de dentro de seu caderno e desenvolver facilmente aplicações de processamento de fluxos com o Apache Flink.
Assim que seu código estiver pronto para ser executado como uma aplicação de produção, você poderá fazer a transição com uma única etapa para uma aplicação de processamento de fluxos que processa gigabytes de dados por segundo, sem servidores.
Aplicação de processamento de fluxos: quando estiver tudo pronto para promover seu código para produção, você pode criar seu código clicando em “Implantar como aplicação de processamento de fluxos” na interface do caderno ou emitir um único comando na CLI. O Studio cuida de todo o gerenciamento de infraestrutura necessário para que você execute sua aplicação de processamento de fluxos em escala, com ajuste de escala automático e estado durável habilitados, assim como em uma aplicação do Amazon Managed Service for Apache Flink.
P: Como é o código da aplicação?
Você pode gravar o código no bloco de anotações em sua linguagem preferida de SQL, Python ou Scala usando a API de tabela do Apache Flink. A API Table é uma abstração de alto nível e uma API relacional que é compatível com um superconjunto de recursos de SQL. Ele oferece operações bem conhecidas, como selecionar, filtrar, juntar, agrupar por, agregar, entre outras, junto com conceitos específicos de transmissão, como janelas. Use % para especificar a linguagem a ser usada em uma seção do caderno e alternar entre as linguagens. Os intérpretes são plug-ins do Apache Zeppelin para que você possa especificar uma linguagem ou mecanismo de processamento de dados para cada seção do caderno. Você também pode criar funções definidas pelo usuário e referenciá-las para melhorar a funcionalidade do código.
P: Quais operações de SQL são compatíveis?
Você pode realizar operações SQL como estas:
- Verificar e filtrar (SELECT, WHERE)
- Agregações (GROUP BY, GROUP BY WINDOW, HAVING)
- Conjunto (UNION, UNIONALL, INTERSECT, IN, EXISTS)
- Ordenar (ORDER BY, LIMIT)
- Junções (INNER, OUTER: janela cronológica; BETWEEN, AND: junção com tabelas temporais, tabelas que rastreiam as alterações ao longo do tempo)
- Top-N
- Eliminação de duplicação
- Reconhecimento de padrões
Algumas dessas consultas, como GROUP BY, OUTER JOIN e Top-N são atualizações de resultados para dados de transmissão, o que significa que os resultados são atualizados continuamente à medida que os dados de transmissão são processados. Outras instruções DDL, como CREATE, ALTER e DROP, também são compatíveis. Para obter uma lista completa de consultas e exemplos, consulte a documentação do Apache Flink Queries.
P: Como Python e Scala são compatíveis?
A API de tabela do Apache Flink oferece suporte a Python e Scala por meio da integração de linguagem usando strings in Python e expressões em Scala. As operações compatíveis são muito semelhantes às operações SQL compatíveis, incluindo selecionar, ordenar, agrupar, juntar, filtrar e criar janelas. Há uma lista completa de operações e exemplos disponível em nosso guia do desenvolvedor.
P: Quais versões do Apache Flink e do Apache Zeppelin são compatíveis?
Para saber mais sobre as versões compatíveis do Apache Flink, acesse a página de notas de versões do Amazon Managed Service for Apache Flink. A página também inclui as versões do Apache Zeppelin, Apache Beam, Java, Scala, Python e AWS SDKs compatíveis com o Amazon Managed Service for Apache Flink.
P: Quais integrações são compatíveis por padrão com uma aplicação do Amazon Managed Service for Apache Flink Studio?
- Fontes de dados: Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon S3
- Destinos ou depósitos: Amazon MSK, Amazon Kinesis Data Streams e Amazon S3
P: As integrações personalizadas são compatíveis?
É possível configurar integrações adicionais com mais algumas etapas e linhas de código do Apache Flink (Python, Scala ou Java) para definir conexões com todas as integrações compatíveis com o Apache Flink. Isso inclui destinos como o Amazon OpenSearch Service, Amazon ElastiCache para Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces e muito mais. Você pode anexar executáveis para esses conectores personalizados ao criar ou configurar sua aplicação do Amazon Managed Service for Apache Flink Studio.
Acordo de serviço
P: O que o SLA do Amazon Managed Service for Apache Flink garante?
Nosso acordo de serviço (SLA) garante uma porcentagem de disponibilidade mensal de pelo menos 99,9% para o Amazon Managed Service for Apache Flink.
P: Como é possível saber se me qualifico para um crédito de serviço do SLA?
Você se qualificará para um crédito de serviço do SLA para o Amazon Managed Service for Apache Flink nos termos do SLA do Amazon Managed Service for Apache Flink se mais de uma zona de disponibilidade na qual você está executando uma tarefa, dentro da mesma região da AWS, tiver uma porcentagem de disponibilidade mensal inferior a 99,9% durante qualquer ciclo de cobrança mensal. Para obter detalhes completos sobre todos os termos e condições do SLA, bem como detalhes sobre como enviar uma solicitação, acesse a página de detalhes do SLA do Amazon Managed Service for Apache Flink.
Comece a usar o Amazon Kinesis Data Analytics
Acesse a página de preços do Amazon Kinesis Data Analytics.
Saiba como usar o Amazon Kinesis Data Analytics no guia passo a passo para SQL ou Apache Flink.
Crie seu primeiro aplicativo de streaming no console do Amazon Kinesis Data Analytics.