Geral
A análise interativa permite a exploração de dados de streaming em tempo real. Com programas ou consultas ad hoc, você pode inspecionar transmissões do Amazon MSK ou Amazon Kinesis Data Streams e visualizar a aparência dos dados dentro dessas transmissões. Por exemplo, você pode ver como uma métrica em tempo real que calcula a média em uma janela de tempo se comporta e envia os dados agregados para um destino de sua escolha. A análise interativa também ajuda no desenvolvimento iterativo de aplicações de processamento de transmissão. As consultas que você cria serão atualizadas continuamente à medida que novos dados chegarem. Com o Kinesis Data Analytics Studio, você pode implantar essas consultas para execução contínua com autoescalabilidade e backups de estado duráveis habilitados.
Usar o Apache Beam para criar sua aplicação do Kinesis Data Analytics é muito semelhante a começar a usar o Apache Flink. Siga as instruções na pergunta acima e certifique-se de instalar todos os componentes necessários para que as aplicações sejam executadas no Apache Beam, de acordo com as instruções no Guia do desenvolvedor. Observe que o Kinesis Data Analytics oferece suporte a Java SDKs somente quando estão em execução no Apache Beam.
Você pode começar no console do Amazon Kinesis Data Analytics e criar um novo bloco de anotações do Studio. Depois de iniciar o bloco de anotações, você pode abri-lo no Apache Zeppelin para escrever código imediatamente em SQL, Python ou Scala. Você pode desenvolver aplicações de forma interativa usando a interface do caderno para o Amazon Kinesis Data Streams, Amazon MSK e Simple Storage Service (Amazon S3) usando integrações integradas e várias outras fontes com conectores personalizados. Você pode usar todos os operadores que o Apache Flink suporta no Flink SQL e na API de tabela para realizar consultas ad hoc de seus fluxos de dados e desenvolver sua aplicação de processamento de transmissão. Quando estiver pronto, com alguns cliques, você pode promover facilmente seu código para uma aplicação de processamento de transmissão em execução contínua com autoescalabilidade e estado durável.
Sim, usando os conectores do Apache Flink DataStream, o Amazon Kinesis Data Analytics para aplicações Apache Flink pode usar o AWS Glue Schema Registry, um recurso sem servidor do AWS Glue. Você pode integrar o Apache Kafka/Amazon MSK e Amazon Kinesis Data Streams, como um coletor ou uma fonte, com suas cargas de trabalho Amazon Kinesis Data Analytics for Apache Flink. Visite a documentação do usuário do Schema Registry para saber mais e começar a usar.
Principais conceitos
Gerenciamento de aplicativos
- Monitoramento do Kinesis Data Analytics no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink.
- Monitoramento do Kinesis Data Analytics no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Studio.
- Monitoramento do Kinesis Data Analytics no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
- Concessão de permissões no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink.
- Concessão de permissões no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Studio.
- Concessão de permissões no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
Preço e faturamento
É cobrada uma taxa por hora com base no número de unidades de processamento do Amazon Kinesis (ou KPUs) usado para executar seu aplicativo de streaming. Uma KPU única é uma unidade de capacidade de processamento de fluxos composta por um vCPU e 4 GB de memória. O Amazon Kinesis Data Analytics dimensiona automaticamente o número de KPUs necessárias para sua aplicação de processamento de streams, já que as demandas de memória e de computação variam em resposta à complexidade de processamento e à taxa de transferência de dados de streaming processados.
Para aplicações do Apache Flink e Apache Beam, você é cobrado por uma KPU única adicional por aplicação para orquestração de aplicações. As aplicações do Apache Flink e Apache Beam também são cobradas pelo armazenamento de aplicações em execução e pelos backups de aplicações duráveis. O armazenamento de aplicações em execução é usado pelos recursos de processamento stateful no Amazon Kinesis Data Analytics e é cobrado por GB/mês. Os backups de aplicações duráveis são opcionais, cobrados por GB/mês e oferecem um ponto de recuperação do ponto anterior no tempo para aplicações.
Para Amazon Kinesis Data Analytics Studio, no modo de desenvolvimento ou interativo, você é cobrado um KPU adicional para orquestração de aplicações e um para desenvolvimento interativo. Você também é cobrado pela execução do armazenamento da aplicação. Você não é cobrado por backups de aplicações duráveis.
Como criar aplicações Apache Flink
Criação do código da aplicação para aplicações Apache Flink
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"));
- Origens dos 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)
O Apache Flink também inclui outros conectores, incluindo o Apache Kafka, Apache Casssandra, Elasticsearch e muito mais.
Sim. Você pode usar as aplicações Apache Flink do Kinesis Data Analytics para replicar dados entre o Amazon Kinesis Data Streams, Amazon MSK e outros sistemas. Um exemplo fornecido em nossa documentação demonstra como ler de um tópico do Amazon MSK e gravar em outro.
Como criar aplicações do Amazon Kinesis Data Analytics Studio
P: Como desenvolvo uma aplicação do Studio?
Você pode começar com os consoles do Amazon Kinesis Data Analytics Studio, Amazon Kinesis Data Streams ou Amazon MSK com alguns cliques 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 e visualizar insights em tempo real sobre seus dados de transmissão de dentro de seu caderno, e desenvolver facilmente aplicações de processamento de transmissão com o Apache Flink.
Assim que seu código estiver pronto para ser executado como uma aplicação de produção, você pode fazer a transição com um único clique para uma aplicação de processamento de transmissão que processa GBs de dados por segundo, sem servidores.
Aplicação de processamento de transmissão: quando estiver pronto para promover seu código para produção, você pode criar seu código com um clique. Você pode clicar em “Deploy as stream processing application” (Implementar como aplicação de processamento de transmissão) na interface do caderno ou emitir um único comando na CLI, e o Studio cuida de todo o gerenciamento de infraestrutura necessário para você executar sua aplicação de processamento de transmissão em escala, com autoescalabilidade e estado durável habilitado, assim como em uma aplicação do Amazon Kinesis Data Analytics para 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 de tabela é uma abstração de alto nível e uma API relacional que oferece suporte a um superconjunto de recursos de SQL. Ele oferece operações familiares, como selecionar, filtrar, juntar, agrupar por, agregar etc., junto com conceitos específicos de transmissão, como janelas. Você usa %<interpreter> para especificar a linguagem a ser usada em uma seção do caderno e alternar facilmente entre as linguagens. Os intérpretes são plugins do Apache Zeppelin que permitem aos desenvolvedores 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 varredura e filtrar (SELECT, WHERE), agregações (GROUP BY, GROUP BY WINDOW, HAVING), definir (UNION, UNIONALL, INTERSECT, IN, EXISTS), ordenar (ORDER BY, LIMIT), junções (INNER, OUTER, janela cronológica - BETWEEN, AND, juntando-se a tabelas temporais, tabelas que rastreiam mudanças ao longo do tempo), Top N, deduplicação e reconhecimento de padrão. 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, conforme os dados de transmissão são processados. Outras instruções DDL, como CREATE, ALTER e DROP, também são suportadas. Para obter uma lista completa de consultas e exemplos, consulte https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/queries.html.
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 suportadas são muito semelhantes às operações SQL suportadas, incluindo selecionar, ordenar, agrupar, juntar, filtrar, e criar janelas. Uma lista completa de operações e exemplos está disponível em nossa documentação aqui.
P: Quais versões do Apache Flink e Apache Zeppelin são compatíveis?
Para saber mais sobre as versões compatíveis do Apache Flink, consulte a página de Notas de release do Amazon Kinesis Data Analytics. A página também inclui as versões do Apache Zeppelin, Apache Beam, Java, Python e AWS SDKs compatíveis com o Kinesis Data Analytics.
P: Quais integrações são compatíveis em uma aplicação do Kinesis Data Analytics Studio por padrão?
- 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?
Você pode configurar integrações adicionais com algumas etapas e linhas adicionais de código Apache Flink (Python, Scala ou Java) para definir conexões com todas as integrações compatíveis com Apache Flink, incluindo destinos como o Amazon OpenSearch Service, Amazon ElastiCache for 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 Studio.
P: Devo desenvolver com o Kinesis Data Analytics Studio ou Kinesis Data Analytics SQL?
Recomendamos começar a usar o Kinesis Data Analytics Studio, pois ele oferece uma experiência de processamento de stream mais abrangente com processamento exatamente único. Kinesis Data Analytics Studio oferece desenvolvimento de aplicações de processamento de stream na linguagem de sua escolha (SQL, Python e Scala), escala para GB/s de processamento, suporta cálculos de longa execução durante horas ou mesmo dias, realiza atualizações de código em segundos, lida com múltiplas entradas streams e funciona com uma variedade de streams de entrada, incluindo Amazon Kinesis Data Streams e Amazon MSK.
Amazon Kinesis Data Analytics para aplicações SQL
Para novos projetos, recomendamos que você use o novo Kinesis Data Analytics Studio em vez do Kinesis Data Analytics para aplicações SQL. O Kinesis Data Analytics Studio combina facilidade de uso com recursos analíticos avançados, permitindo que você crie aplicações sofisticadas de processamento de stream em minutos.
Configuração de entrada para aplicações SQL
Criação do código do aplicativo para aplicativos SQL
- Sempre use uma instrução SELECT no contexto de uma instrução INSERT. Ao selecionar linhas, você insere resultados em outro streaming no aplicativo.
- Use uma instrução INSERT no contexto de um bombeamento.
- Você usa um bombeamento para tornar uma instrução INSERT contínua e grave em uma transmissão na aplicação.
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
ticker_symbol VARCHAR(4),
change DOUBLE,
price DOUBLE);
CREATE OR REPLACE PUMP "STREAM_PUMP" AS
INSERT INTO "DESTINATION_SQL_STREAM"
SELECT STREAM ticker_symbol, change, price
FROM "SOURCE_SQL_STREAM_001";
Configuração de destinos em aplicativos SQL
Comparação com outras soluções de processamento de streams
Acordo de Nível de Serviço
P: O que o SLA do Amazon Kinesis Data Analytics garante?
O SLA do Amazon Kinesis Data Analytics garante uma porcentagem de tempo de disponibilidade de pelo menos 99,9% para o Amazon Kinesis Data Analytics.
P: Como saberei se me qualifico para um crédito de serviço do SLA?
Você estará qualificado para um crédito de SLA para o Amazon Kinesis Data Analytics nos termos do SLA do Amazon Kinesis Data Analytics se mais de uma zona de disponibilidade na qual você executar uma tarefa, na mesma região, tiver uma porcentagem de tempo de atividade mensal inferior a 99,9% durante qualquer ciclo de faturamento mensal. Para obter detalhes completos sobre todos os termos e condições do SLA, bem como detalhes sobre como enviar uma alegação, consulte a página de detalhes do SLA do Amazon Kinesis.
Comece a usar o 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.