Geral

P: O que é o Amazon Kinesis Data Analytics?
O Amazon Kinesis Data Analytics é a maneira mais fácil de transformar e analisar dados de transmissão em tempo real com o Apache Flink. O Apache Flink é um framework e um mecanismo de código aberto para o processamento de fluxos de dados. O Kinesis Data Analytics reduz a complexidade de criar, gerenciar e integrar aplicações Apache Flink com outros produtos da AWS.
 
O Kinesis Data Analytics se encarrega de tudo o que é necessário para executar continuamente as aplicações de transmissão e escalar automaticamente para atender ao volume e à transferência de dados recebidos. Com o Kinesis Data Analytics, não há servidores a serem gerenciados, nenhuma taxa mínima ou custo de configuração, e você paga apenas pelos recursos que suas aplicações de transmissão utilizam.
 
P: O que é processamento de transmissão em tempo real e por que ele é necessário?
As empresas estão ingerindo dados de forma mais rápida do que nunca devido ao crescimento intenso de origens dos dados em tempo real. Esteja você gerenciando dados de log de aplicações móveis e da Web, dados de compra de plataformas de comércio eletrônico ou dados de sensores de dispositivos IoT, a ingestão de dados em tempo real permite que você saiba o que seus clientes, a organização e os negócios estão fazendo agora.
 
P: O que posso fazer com o Kinesis Data Analytics?
Você pode usar o Kinesis Data Analytics em diversos casos de uso para processar dados continuamente e obter insights em segundos ou minutos, em vez de esperar dias ou até mesmo semanas. O Kinesis Data Analytics permite que você crie rapidamente aplicações de processamento de transmissão completas para análise de logs, análise de clickstream, Internet das Coisas (IoT), tecnologia de anúncios, jogos e muito mais. Os quatro casos de uso mais comuns são o ETL - streaming extract, transform and load (extração, transformação e carregamento), a geração contínua de métricas, a análise responsiva em tempo real e a consulta interativa de streams de dados.
 
Transmissão ETL
As aplicações de transmissão ETL permitem que você limpe, aprimore, organize e transforme dados brutos antes de carregar seu data lake ou data warehouse em tempo real, reduzindo ou eliminando as etapas de ETL em lote. Essas aplicações podem armazenar em buffer pequenos registros em arquivos maiores antes da entrega, além de realizar associações sofisticadas em transmissões e tabelas. Por exemplo, você pode criar uma aplicação que leia continuamente dados do sensor de IoT armazenados no Amazon Managed Streaming for Apache Kafka (Amazon MSK), organizar os dados por tipo de sensor, remover dados duplicados, normalizar dados por esquema especificado e então entregar os dados ao Amazon Simple Storage Service (Amazon S3).
Geração contínua de métricas
As aplicações de geração contínua de métricas permitem que você monitore e compreenda como está a tendência dos seus dados com o passar do tempo. Suas aplicações podem agregar dados de transmissão em informações críticas e integrá-los com facilidade a bancos de dados de relatórios e serviços de monitoramento, a fim de atender suas aplicações e usuários em tempo real. Com o Kinesis Data Analytics, você pode utilizar o SQL ou o código do Apache Flink para gerar de forma contínua análises de série temporal durante janelas de tempo. Por exemplo, você pode criar um placar ao vivo para um jogo para dispositivos móveis computando os melhores jogadores a cada minuto e, em seguida, enviando para o Amazon DynamoDB. Ou você pode rastrear o tráfego para o seu site ao calcular o número de visitantes únicos do site a cada cinco minutos e enviar os resultados processados para o Amazon Redshift.
 
Análise responsiva em tempo real
As aplicações de análise responsiva em tempo real enviam alarmes ou notificações em tempo real quando determinadas métricas atingem limites predefinidos ou, em casos mais avançados, quando a aplicação detecta anomalias usando algoritmos de machine learning (ML). Essas aplicações permitem que você responda imediatamente às alterações em seus negócios em tempo real, como prever o abandono do usuário em aplicativos móveis e identificar sistemas degradados. Por exemplo, um aplicativo pode calcular a disponibilidade ou a taxa de sucesso de uma API do cliente com o passar do tempo e, então, enviar os resultados para o Amazon CloudWatch. Você pode criar outra aplicação para procurar por eventos que atendam a determinados critérios e notificar automaticamente os clientes certos usando o Amazon Kinesis Data Streams e o Amazon Simple Notification Service (SNS).
 
Análise interativa de streams de dados
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.
 
P: Como faço para começar a usar aplicações Apache Flink para o Kinesis Data Analytics?
Faça login no console do Amazon Kinesis Data Analytics e crie uma nova aplicação de processamento de transmissão. Você também pode usar a AWS CLI e os AWS SDKs. Depois de criar uma aplicação, vá para seu ambiente de desenvolvimento integrado favorito, conecte-se à AWS e instale as bibliotecas Apache Flink de código aberto e AWS SDKs em seu idioma preferido. O Apache Flink é um framework e um mecanismo de código aberto para o processamento de fluxos de dados e AWS SDKs. As bibliotecas extensíveis incluem mais de 25 operadores de processamento de transmissão predefinidos, como janela e agregado, e integrações com produtos da AWS, como o Amazon MSK, Amazon Kinesis Data Streams e Amazon Kinesis Data Firehose. Depois de desenvolvido, você carrega o código para o Kinesis Data Analytics e o serviço administra tudo o que é necessário para executar continuamente as aplicações em tempo real, incluindo escalar automaticamente para que corresponda ao volume e à taxa de transferência dos dados recebidos.
 
P: Como faço para começar a usar aplicações Apache Beam para o Kinesis Data Analytics?
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.
 
P: Como começo a usar o Amazon Kinesis Data Analytics Studio?
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.
 
P: Como faço para começar a usar o Kinesis Data Analytics para SQL?
Faça login no console do Amazon Kinesis Data Analytics e crie uma nova aplicação de processamento de transmissão. Você também pode usar a AWS CLI e os AWS SDKs. Você pode criar um aplicativo completo em três etapas simples: 1) configure os dados de streaming de entrada, 2) escreva consultas SQL e 3) indique onde deseja que os resultados sejam carregados. O Kinesis Data Analytics reconhece os formatos de dados padrão, como JSON, CSV e TSV, e cria automaticamente um esquema de linha de base. Você pode refinar esse schema ou, se seus dados não forem estruturados, definir um novo usando nosso editor de schema intuitivo. Depois, o serviço aplica o schema para o stream de entrada e faz com que ele se pareça com uma tabela SQL continuamente atualizada para que você possa escrever nele consultas SQL padrão. Use nosso editor SQL para criar suas consultas.
O editor SQL vem completo, inclusive com a verificação e o teste de sintaxe dos dados dinâmicos. Também oferecemos modelos que disponibilizam o código SQL para uma grande variedade de opções, de um simples filtro de stream até detecção de anomalias e análises top-K avançadas. O Kinesis Data Analytics administra o provisionamento e a escalabilidade de toda a infraestrutura de maneira elástica para processar qualquer throughput de dados. Não é necessário planejar, provisionar ou gerenciar a infraestrutura.
 
P: Quais são os limites do Kinesis Data Analytics?
O Kinesis Data Analytics escala de maneira elástica o aplicativo para acomodar a taxa de transferência de dados do fluxo de origem e da complexidade da consulta para a maioria dos cenários. Para obter informações detalhadas sobre limites do serviço, consulte Limites no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL. Para obter informações detalhadas sobre os limites do serviço para aplicações Apache Flink, visite a seção Limites no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink.
 
P: O Amazon Kinesis Data Analytics oferece suporte para registro de esquema?
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

P: O que é um aplicativo do Kinesis Data Analytics?
Um aplicativo é a entidade do Kinesis Data Analytics com a qual você trabalha. As aplicações do Kinesis Data Analytics leem e processam continuamente dados de streaming em tempo real. Grave o código da aplicação em uma linguagem compatível com Apache Flink para processar dados de streaming de entrada e gerar a saída. Depois, o Kinesis Data Analytics grava a saída em um destino configurado.
 
Cada aplicação consiste em três componentes principais:
 
Entrada: fonte de transmissão da sua aplicação. Na configuração de entrada, você mapeia a fonte de transmissão para fluxos de dados na aplicação. Os dados fluem de suas fontes de dados para seus fluxos de dados no aplicativo. Você processa dados desses streams de dados na aplicação usando o código da aplicação, enviando dados processados para destinos ou streams de dados subsequentes na aplicação. Você adiciona entradas dentro do código da aplicação para aplicações Apache Flink e cadernos do Studio e por meio da API para Kinesis Data Analytics para aplicações SQL.
 
Código da aplicação: uma série de operadores Apache Flink ou instruções SQL que processam entrada e produzem saída. Em sua forma mais simples, o código da aplicação pode ser um único operador Apache Flink ou uma instrução SQL que lê de um fluxo de dados na aplicação associado a uma fonte de transmissão e grava em um fluxo de dados na aplicação associado a uma saída. Para um bloco de anotações do Studio, isso poderia ser uma consulta simples de seleção do Flink SQL, com os resultados mostrados no contexto dentro do bloco de anotações. Você pode gravar o código Apache Flink em suas linguagens com suporte para o Kinesis Data Analytics para aplicações Apache Flink ou cadernos do Studio, ou o código SQL que divide o fluxo de dados inicial da aplicação em vários fluxos e aplica uma lógica adicional a esses fluxos separados para o Kinesis Data Analytics para aplicações SQL.
 
Saída: você pode criar uma ou mais transmissões na aplicação para armazenar resultados intermediários. Como opção, você pode configurar uma saída da aplicação para que ela mantenha dados de fluxos na aplicação específicos para um destino externo. Você adiciona essas saídas dentro do código da aplicação para aplicações Apache Flink e cadernos do Studio e para o Kinesis Data Analytics para aplicações SQL.
 
P: O que é um fluxo de dados na aplicação?
Um fluxo de dados na aplicação é uma entidade que armazena dados de forma contínua em sua aplicação para processamento. Suas aplicações gravam e leem de forma contínua desses fluxos de dados na aplicação. Para aplicações Apache Flink e Studio, você interage com o fluxo na aplicação ao processar os dados por meio de operadores de transmissão. Os operadores transformam um ou mais streams de dados em um novo stream de dados. Para aplicativos SQL, você interage com um fluxo no aplicativo do mesmo modo como faria com uma tabela SQL ao utilizar instruções SQL. Você aplica as instruções SQL a um ou mais fluxos de dados e insere os resultados em um novo fluxo de dados.
 
P: Qual código de aplicação é compatível?
O Kinesis Data Analytics oferece suporte a aplicações criadas em Java, Scala e Python com as bibliotecas Apache Flink de código aberto e seu próprio código personalizado. O Kinesis Data Analytics também oferece suporte a aplicações criadas em Java com as bibliotecas Apache Beam de código aberto e seu próprio código de cliente. O Kinesis Data Analytics Studio oferece suporte a código criado usando SQL, Python e Scala compatíveis com Apache Flink.

Gerenciamento de aplicativos

P: Como posso monitorar as operações e a performance de aplicações do Kinesis Data Analytics?
A AWS fornece várias ferramentas que você pode usar para monitorar suas aplicações do Kinesis Data Analytics, incluindo acesso ao Flink Dashboard para aplicações Apache Flink. Você pode configurar algumas dessas ferramentas para que façam o monitoramento para você. Para obter mais informações sobre como monitorar sua aplicação, consulte:

P: Como posso gerenciar e controlar o acesso a aplicações do Kinesis Data Analytics?
O Kinesis Data Analytics precisa de permissões para ler os registros de origens dos dados de transmissão que você especifica nas aplicações. O Kinesis Data Analytics também precisa de permissões para gravar a saída das aplicações nos destinos especificados na configuração de saída dessas aplicações. Você pode conceder essas permissões criando funções do AWS Identity and Access Management (IAM) que o Kinesis Data Analytics pode assumir. As permissões que você concede para essa função determinam o que o Kinesis Data Analytics pode fazer quando o serviço assume a função. Para obter mais informações, consulte:

P: Como o Kinesis Data Analytics escala um aplicativo?
O Kinesis Data Analytics escala o aplicativo de maneira elástica para acomodar o throughput de dados do stream de origem e a complexidade das consultas para a maioria dos cenários. O Kinesis Data Analytics provisiona capacidade na forma de unidades de processamento do Amazon Kinesis (KPU). Uma KPU fornece 1 vCPU e 4 GB de memória.
 
Para aplicações Apache Flink e cadernos do Studio, o Kinesis Data Analytics atribui 50 GB de armazenamento de aplicações em execução por KPU que sua aplicação usa para pontos de verificação e está disponível para uso por meio de um disco temporário. Um ponto de verificação é um backup atualizado de uma aplicação em execução que é usado para recuperação imediata após uma interrupção da aplicação. Você também pode controlar a execução paralela do Kinesis Data Analytics para tarefas de aplicações Apache Flink (como ler de uma fonte ou executar um operador) usando os parâmetros Parallelism e ParallelismPerKPU na API. O Parallelism (Paralelismo) define o número de instâncias simultâneas de uma tarefa. Todos os operadores, fontes e coletores executam com um paralelismo definido no valor de 1, por padrão. O Parallelism per KPU (Paralelismo por KPU) define a quantidade do número de tarefas paralelas que podem ser agendadas por unidade de processamento do Kinesis (KPU) da sua aplicação, definido no valor de 1, por padrão. Para obter mais informações, consulte Escalabilidade no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink.
 
Para aplicações SQL, cada origem de transmissão é mapeada para uma transmissão na aplicação correspondente. Embora isso não seja exigido para muitos clientes, é possível usar as KPUs com maior eficiência aumentando o número de fluxos na aplicação para os quais a origem é mapeada por meio da especificação do parâmetro de paralelismo de entrada. O Kinesis Data Analytics atribui igualmente partições de origem dos dados de transmissão, como fragmentos de um fluxo de dados do Amazon Kinesis, para o número de fluxos de dados na aplicação que você especificou. Por exemplo, se você tem um fluxo de dados do Amazon Kinesis com 10 fragmentos como uma origem dos dados de transmissão e especifica um paralelismo de entrada de dois, o Kinesis Data Analytics atribui cinco fragmentos do Amazon Kinesis para dois fluxos na aplicação, chamados de “SOURCE_SQL_STREAM_001” e “SOURCE_SQL_STREAM_002”. Para obter mais informações, consulte Configuring Application Input (Configuração de entrada da aplicação) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
 
P: Quais são as práticas recomendadas associadas à criação e ao gerenciamento de aplicações do Kinesis Data Analytics?
Para obter informações sobre as práticas recomendadas para Apache Flink, consulte a seção de práticas recomendadas do Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink. A seção abrange as práticas recomendadas para lidar com tolerância a falhas, performance, registro em log, codificação e muito mais.
 
Para obter informações sobre as práticas recomendas para Amazon Kinesis Data Analytics Studio, consulte a seção Práticas recomendadas do Guia do desenvolvedor do Amazon Kinesis Data Analytics Studio. A seção abrange as práticas recomendadas e exemplos para aplicações SQL, Python e Scala, requisitos para implantar seu código como uma aplicação de processamento de transmissão em execução contínua, performance, registro e muito mais.
 
Para obter informações sobre as práticas recomendadas de SQL, consulte a seção Best Practices (Práticas recomendadas) do Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL. A seção aborda como gerenciar aplicações, definir o esquema de entradas, conectar a saídas e criar código de aplicação.
 
P: Posso ter acesso a recursos subjacentes de uma Amazon VPC com uma aplicação Kinesis Data Analytics para Apache Flink?
Sim. Você pode acessar os recursos subjacentes de uma Amazon VPC. Você pode aprender a configurar sua aplicação para acesso à VPC na seção sobre como usar uma Amazon VPC do Guia do desenvolvedor do Amazon Kinesis Data Analytics.
 
P: Uma única aplicação Java do Kinesis Data Analytics pode ter acesso a várias VPCs?
Se várias sub-redes forem especificadas, todas elas deverão estar na mesma VPC. Você pode se conectar a outras VPCs usando o emparelhamento de VPCs.
 
P: Uma aplicação Apache Flink do Kinesis Data Analytics conectado a uma VPC também pode acessar a Internet e endpoints de produto da AWS?
O Kinesis Data Analytics para aplicações do Apache Flink e dos blocos de anotações configurados para acessar recursos em determinada VPC não terão acesso à Internet, como parte da configuração padrão. Você pode aprender a configurar o acesso à Internet para a sua aplicação na seção sobre acesso a serviços e à Internet do Guia do desenvolvedor do Amazon Kinesis Data Analytics.

Preço e faturamento

P: Quanto custa o Kinesis Data Analytics?
Com o Amazon Kinesis Data Analytics, você paga somente pelo que usar. Não há recursos para provisionar ou custos iniciais associados ao Amazon Kinesis Data Analytics.

É 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.
 
Para obter mais informações sobre preços, consulte a página de preços do Amazon Kinesis Data Analytics.
 
P: O Kinesis Data Analytics está disponível no nível gratuito da AWS?
Não. No momento, o Kinesis Data Analytics não está disponível no nível gratuito da AWS. O nível gratuito da AWS é um programa que oferece testes gratuito para um grupo de serviços da AWS.
 
P: Serei cobrado por uma aplicação do Kinesis Data Analytics em execução que não esteja processando nenhum dado da origem?
 
Para aplicações Apache Flink e Apache Beam, será cobrado um mínimo de duas KPUs e o armazenamento de aplicação em execução de 50 GB, caso uma aplicação do Kinesis Data Analytics esteja em execução.
 
Para cadernos do Kinesis Data Analytics Studio, você será cobrado no mínimo por três KPUs e 50 GB de armazenamento de aplicação em execução se sua aplicação estiver em execução.
 
Para aplicações SQL, será cobrado um mínimo de uma KPU, caso uma aplicação do Kinesis Data Analytics esteja em execução.
 
P: Além dos custos do Kinesis Data Analytics, existem outros custos que possam incorrer?
O Kinesis Data Analytics é uma solução de processamento de fluxos gerenciada, que independe da origem de streaming de onde lê dados e dos destinos nos quais grava os dados processados. A cobrança será realizada de forma independente pelos serviços de leitura e gravação no sua aplicação.
P: O que é o Apache Flink?
Apache Flink é um framework e mecanismo de código aberto para processamento de dados em fluxo e em lote. Ele facilita a criação de aplicações de transmissão porque fornece operadores robustos e resolve muito bem os principais problemas de transmissão, como o processamento duplicado. O Apache Flink fornece distribuição de dados, comunicação e tolerância a falhas para computação distribuída em fluxos de dados.
 
P: Como desenvolvo aplicações?
Você pode começar baixando as bibliotecas de código aberto que incluem AWS SDK, Apache Flink e os conectores dos produtos da AWS. Você pode obter instruções sobre como baixar as bibliotecas e criar sua primeira aplicação no Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink.
 
P: Como é o código da aplicação?
Você escreve o código do Apache Flink usando streams de dados e operadores de stream. Os streams de dados da aplicação são a estrutura de dados que são executadas durante o processamento em relação ao uso do seu código. Os dados fluem continuamente das origens para os fluxos de dados da aplicação. Um ou mais operadores de fluxo são usados para definir seu processamento nos fluxos de dados da aplicação, incluindo transformação, partição, agregação, associação e janelas. Os fluxos de dados e operadores podem ser conectados em cadeias seriais e paralelas. Um pequeno exemplo usando um pseudocódigo é mostrado abaixo.
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"));
P: Como faço para usar os operadores?
Os operadores pegam um fluxo de dados da aplicação como entrada e enviam os dados processados para um fluxo de dados da aplicação como saída. Os operadores podem ser conectados para criar aplicações com várias etapas e não exigem conhecimento avançado de sistemas distribuídos para implementação e operação.
 
P: Quais operadores são compatíveis?
O Kinesis Data Analytics para Apache Flink inclui mais de 25 operadores do Apache Flink que podem ser usados para resolver uma grande variedade de casos de uso, incluindo Map, KeyBy, agregações, Window Join e Window. O Maps permite executar um processamento arbitrário, pegando um elemento de um stream de dados de entrada e produzindo outro elemento. O KeyBy organiza logicamente os dados usando uma chave específica, permitindo que os pontos de dados semelhantes sejam processados juntos. As agregações executam o processamento em várias chaves, como sum, min e max. O Window Join junta dois fluxos de dados em uma determinada chave e janela. O operador Window agrupa dados usando uma chave e uma operação normalmente baseada em tempo, como contar o número de itens exclusivos em um período de cinco minutos.
 
É possível criar operadores personalizados se eles não atenderem às suas necessidades. Você pode encontrar mais exemplos na seção Operadores do Guia do desenvolvedor do Amazon Kinesis Data Analytics para Apache Flink. Você pode encontrar uma lista completa dos operadores do Apache Flink na seção Operators (Operadores) da documentação do Apache Flink.
 
P: Quais integrações são compatíveis com uma aplicação Apache Flink do Kinesis Data Analytics?
Você pode configurar integrações previamente desenvolvidas com código mínimo ou criar sua própria integração para se conectar com praticamente qualquer origem dos dados. As bibliotecas de código aberto baseadas no Apache Flink oferecem suporte a origens e destinos de transmissão, ou coletores, para processar a entrega de dados. Isso também inclui suporte a enriquecimento de dados por meio de conectores assíncronos de entrada/saída (E/S). Abaixo, apresentamos uma lista de conectores específicos concluídos nas bibliotecas de código aberto.
 
  • 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.
 
P: As aplicações Kinesis Data Analytics para Apache Flink podem replicar dados em streams e/ou tópicos?
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.
 
P: As integrações personalizadas são compatíveis?
Você pode adicionar uma origem ou um destino à sua aplicação tendo como base um conjunto de primitivos que permitem ler e gravar arquivos, diretórios, soquetes ou qualquer item que você possa acessar pela Internet. O Apache Flink fornece esses primitivos para as origem dos dados e os coletores dos dados. Os primitivos vêm com configurações como a capacidade para ler e gravar dados continuamente ou de uma única vez, de forma assíncrona ou sincronizada, e muito mais. Por exemplo, você pode configurar uma aplicação para ler continuamente do Simple Storage Service (Amazon S3) ao estender a integração existente de origens baseadas em arquivos.
 
P: Que modelo de entrega o Kinesis Data Analytics para aplicações Apache Flink fornece?
As aplicações Apache Flink no Kinesis Data Analytics usam um modelo de entrega “exatamente uma vez” se uma aplicação for criada usando operadores idempotentes, incluindo fontes e coletores. Isso significa que os dados processados terão impacto nos resultados posteriores somente uma única vez. Os pontos de verificação salvam o estado atual da aplicação e permitem que o Kinesis Data Analytics para aplicações Apache Flink recupere a posição da aplicação, a fim de fornecer a mesma semântica de uma execução sem falhas. Os pontos de verificação para aplicações Apache Flink são fornecidos por meio da funcionalidade ponto de verificação do Apache Flink. Por padrão, o Kinesis Data Analytics para aplicações Apache Flink usa a semântica exatamente uma vez do Apache Flink. A aplicação suportará exatamente uma vez a semântica de processamento se você projetar suas aplicações usando origens, operadores e coletores que utilizam a semântica exatamente uma vez do Apache Flink.
 
P: Tenho acesso ao armazenamento local do meu armazenamento de aplicativos?
Sim. O Kinesis Data Analytics para aplicações Apache Flink fornece à sua aplicação 50 GB de armazenamento de aplicações em execução por Unidade de Processamento do Kinesis (KPU). O Kinesis Data Analytics escala o armazenamento com sua aplicação. A execução do armazenamento de aplicativos é usada para salvar o estado do aplicativo por meio da utilização de pontos de verificação. Isso também é acessível ao código do aplicativo para usar como disco temporário para armazenamento em cache de dados ou qualquer outra finalidade. O Kinesis Data Analytics pode remover os dados do armazenamento de aplicativos em execução não salvos por meio dos pontos de verificação (por exemplo, operadores, fontes e coletores) a qualquer momento. Todos os dados armazenados no armazenamento de aplicações em execução recebem criptografia de dados ociosos.
 
P: Como o Kinesis Data Analytics para Apache Flink faz backup automaticamente da minha aplicação?
O Kinesis Data Analytics faz o backup automático do estado da sua aplicação em execução usando pontos de verificação e snapshots. Os pontos de verificação salvam o estado atual da aplicação e permitem que o Kinesis Data Analytics para aplicações Apache Flink recupere a posição da aplicação a fim de fornecer a mesma semântica de uma execução sem falhas. Os pontos de verificação utilizam o armazenamento de aplicações em execução. Os snapshots salvam um ponto no tempo do ponto de recuperação para aplicativos. Os snapshots utilizam backups duráveis de aplicativos.
 
P: O que são snapshots de aplicativos?
Os snapshots permitem que você crie e restaure seu aplicativo em um ponto anterior no tempo. Isso permite manter o estado anterior do aplicativo e revertê-lo a qualquer momento. Você controla os snapshots que tiver em qualquer ponto do zero a milhares de snapshots. Os snapshots usam backups duráveis de aplicativos e o Kinesis Data Analytics cobra você com base no tamanho deles. O Kinesis Data Analytics criptografa os dados salvos em snapshots por padrão. Você pode excluir snapshots individuais por meio da API ou todos os snapshots por meio da exclusão do seu aplicativo.
 
P: Quais versões do Apache Flink são compatíveis?
O Amazon Kinesis Data Analytics para aplicações Apache Flink é compatível com o Apache Flink 1.6, 1.8
e 1.11 (recomendado). O Apache Flink 1.11 no Kinesis Data Analytics é compatível com Java Development Kit versão 11, Python 3.7 e Scala 2.1.2. Você encontra mais informações na seção sobre criação de uma aplicação do Guia do desenvolvedor da AWS.
 
P: Quais versões de componentes são compatíveis com o Kinesis Data Analytics para Flink 1.13?
O Apache Flink 1.13 no Kinesis Data Analytics é compatível com Java Development Kit versão 11, Python 3.8 e Scala 2.12. Você encontra mais informações na seção sobre criação de uma aplicação do Guia do desenvolvedor da AWS.
P: O Kinesis Data Analytics para aplicações Apache Flink pode ser executado no Apache Beam?
Sim, ele é compatível com aplicações de transmissão criadas usando o Apache Beam Java SDK versão 2.23. Você pode criar aplicações de transmissão Apache Beam em Java e executá-las usando o Apache Flink 1.8 no Amazon Kinesis Data Analytics, Apache Spark em execução on-premises e em outros mecanismos de execução compatíveis com Apache.
P: O Kinesis Data Analytics para aplicações Apache Flink pode ser executado no Apache Beam?
O Apache Beam é um modelo unificado de código aberto para definir aplicações de transmissão e processamento de dados em lote que podem ser executadas em vários mecanismos de execução.

Como criar aplicações do Amazon Kinesis 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 janelas. Uma lista completa de operações e exemplos está incluída aqui: https://ci.apache.org/projects/flink/flink-docs- release-1.11/dev/table/tableApi.html

P: Quais versões do Apache Flink e Apache Zeppelin são compatíveis?

O Kinesis Data Analytics Studio é compatível com Apache Flink 1.11 e Apache Zeppelin 0.9.

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

P: Quais entradas são compatíveis com um aplicativo SQL do Kinesis Data Analytics?
Os aplicativos SQL no Kinesis Data Analytics são compatíveis com dois tipos de entradas: fontes de dados de streaming e fontes de dados de referência. Uma origem dos dados de transmissão gera continuamente dados que são lidos pela aplicação para processamento. Uma origem dos dados de referência são dados estáticos que a sua aplicação usa para enriquecer dados provenientes de origens de transmissão. Cada aplicação não pode ter mais do que uma origem dos dados de transmissão e não mais do que uma origem dos dados de referência. Uma aplicação lê e processa continuamente novos dados de fontes de dados de streaming, como Amazon Kinesis Data Streams ou Amazon Kinesis Data Firehose. Uma aplicação lê uma fonte de dados de referência, como o Amazon S3, em sua totalidade para uso no aprimoramento da fonte de dados de streaming por meio de JOINs do SQL.
 
P: O que é uma fonte de dados de referência?
Uma fonte de dados de referência são dados estáticos que a sua aplicação usa para aprimorar dados provenientes de origens de streaming. Armazene dados de referência como um objeto no bucket do seu S3. Quando a aplicação SQL é inicializada, o Kinesis Data Analytics lê o objeto do S3 e cria uma tabela SQL na aplicação para armazenar os dados de referência. O código da aplicação pode, então, associá-la a um fluxo na aplicação. Você pode atualizar os dados na tabela SQL chamando a API UpdateApplication.
 
P: Como posso configurar uma fonte de dados de streaming no meu aplicativo SQL?
Uma fonte de dados de streaming pode ser um fluxo de dados do Amazon Kinesis ou um fluxo de entrega do Amazon Kinesis Data Firehose. O aplicativo SQL do Kinesis Data Analytics lê continuamente novos dados de fontes de dados de streaming à medida que chegam em tempo real. Os dados são disponibilizados no seu código SQL por meio de um streaming no aplicativo. Uma transmissão na aplicação age como uma tabela SQL, pois, por meio dela, você pode criar, inserir e selecionar. No entanto, a diferença é que uma transmissão na aplicação é atualizada continuamente com novos dados da origem dos dados de transmissão.
 
Você pode usar o Console de Gerenciamento da AWS para adicionar uma origem dos dados de transmissão. Saiba mais sobre origens na seção Configuring Application Input (Configuração de entrada da aplicação) do Guia do desenvolvedor do Kinesis Data Analytics para SQL.
 
P: Como posso configurar uma fonte de dados de referência no meu aplicativo SQL?
Uma fonte de dados de referência pode ser um objeto do Amazon S3. O aplicativo SQL do Kinesis Data Analytics lê o objeto do S3 por completo quando inicia a execução. Os dados são disponibilizados no seu código SQL por meio de uma tabela. O caso de uso mais comum de uma fonte de dados de referência é a sua utilização para aprimorar os dados recebidos da fonte de dados de streaming usando um JOIN do SQL. 
 
Usando a ILC da AWS, você pode adicionar uma fonte de dados de referência especificando o bucket do S3, o objeto, a função do IAM e o schema associado. O Kinesis Data Analytics carrega esses dados quando você inicia o aplicativo e os recarrega toda vez que uma chamada de API de atualização é realizada.
 
P: Quais formatos de dados são compatíveis com os aplicativos SQL?
As aplicações SQL no Kinesis Data Analytics podem detectar o esquema e analisar automaticamente registros JSON e CSV com codificação UTF-8 usando a API DiscoverInputSchema. Esse esquema é aplicado aos dados lidos no fluxo como parte da inserção em um fluxo no aplicativo. 
 
Para outros dados com codificação UTF-8 que não usem um delimitador, usem um delimitador que não seja o CSV, ou nos casos em que a API de descoberta não descobriu totalmente o schema, você pode definir um schema usando o editor de schema interativo ou usar funções de manipulação de string para estruturar seus dados. Para obter mais informações, consulte Using the Schema Discovery Feature and Related Editing (Usar o recurso de descoberta de esquema e edições afim) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
 
P: Como o fluxo de entrada é exposto ao código SQL?
O Kinesis Data Analytics para SQL aplica o esquema especificado e insere os dados em um ou mais fluxos no aplicativo para origens de streaming, e em uma tabela SQL única para fontes de referência. O número padrão de fluxos na aplicação será o que atender às necessidades da maioria dos seus casos de uso. Você deve aumentar esse número caso ache que sua aplicação não está acompanhando os dados mais recentes no seu fluxo de dados, conforme definido pela métrica MillisBehindLatest do CloudWatch. O número necessário de transmissões na aplicação é impactado pelo volume de taxa de transferência na sua transmissão de origem e pela complexidade da sua consulta. O parâmetro para a especificação do número de streamings no aplicativo mapeado para o seu fluxo de origem é chamado de paralelismo de entrada.
 

Criação do código do aplicativo para aplicativos SQL

P: Qual é a aparência do código do aplicativo SQL?
O código do aplicativo é uma série de instruções SQL que processam entrada e produzem saída. Essas instruções SQL operam em streamings no aplicativo e tabelas de referência. Um streaming no aplicativo funciona como uma tabela continuamente atualizada em que você pode executar as operações SQL SELECT e INSERT. Suas origens e seus destinos configurados são expostos para o código SQL por meio de streamings no aplicativo. Você também pode criar streamings no aplicativo adicionais para armazenar resultados de consulta intermediários.
 
Você pode usar o seguinte padrão para trabalhar com streamings no aplicativo:

  • 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.

O código SQL a seguir fornece uma aplicação simples e operacional:
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";
Para obter mais informações sobre o código da aplicação, consulte Application Code (Código da aplicação) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
 
P: Como o Kinesis Data Analytics me ajuda com a escrita de código SQL?
O Kinesis Data Analytics inclui uma biblioteca de modelos de análise para casos de uso comuns, como filtros de streaming, intervalos de tempo em cascata e detecção de anomalias. Você pode acessar esses modelos por meio do editor SQL no Console de Gerenciamento da AWS. Depois que você criar uma aplicação e navegar até o editor SQL, os modelos serão disponibilizados no canto superior esquerdo do console.
 
P: Como posso executar a detecção de anomalias em tempo real no Kinesis Data Analytics?
O Kinesis Data Analytics contém funções SQL predefinidas para vários recursos analíticos avançados, inclusive um para a detecção de anomalias. Basta fazer uma chamada do código SQL para essa função a fim de detectar anomalias em tempo real. O Kinesis Data Analytics usa o algoritmo Random Cut Forest para implementar a detecção de anomalias. Para obter mais informações sobre Random Cut Forests, consulte o whitepaper Streaming Data Anomaly Detection (Detecção de anomalias de dados de transmissão).

Configuração de destinos em aplicativos SQL

P: Quais destinos são compatíveis?
O Kinesis Data Analytics para SQL oferece suporte a até três destinos por aplicação. Você pode manter os resultados SQL para o Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service (por meio do Amazon Kinesis Data Firehose) e o Amazon Kinesis Data Streams. É possível gravar em um destino que não seja diretamente compatível com o Kinesis Data Analytics enviando os resultados SQL para o Amazon Kinesis Data Streams e aproveitando sua integração com o AWS Lambda para enviar a um destino de sua escolha.
 
P: Como eu configuro um destino?
No seu código da aplicação, você grava a saída de instruções SQL em uma ou mais transmissões na aplicação. Como opção, você pode adicionar uma configuração de saída para que a sua aplicação mantenha tudo o que for gravado nas transmissões na aplicação específicas para até quatro destinos externos. Esses destinos externos podem ser um bucket do Simple Storage Service (Amazon S3), uma tabela do Amazon Redshift, um domínio do Amazon OpenSearch Service (por meio do Amazon Kinesis Data Firehose) e um fluxo de dados do Amazon Kinesis. Cada aplicação oferece suporte a até quatro destinos, que podem ser qualquer combinação dos descritos acima. Para obter mais informações, consulte Configuring Output Streams (Configuração de fluxos de saída) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.
 
P: Meu destino preferencial não é compatível diretamente. Como posso enviar resultados SQL para esse destino?
Você pode usar o AWS Lambda para gravar em um destino cujo uso não seja diretamente compatível usando o Kinesis Data Analytics para SQL. Nós recomendamos que você grave resultados em um fluxo de dados do Amazon Kinesis e use o AWS Lambda para ler os resultados processados e enviá-los para o destino de sua escolha. Para obter mais informações, consulte Example: AWS Lambda Integration (Exemplo: integração do AWS Lambda) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL. Como alternativa, você pode usar um fluxo de entrega do Kinesis Data Firehose para carregar os dados no Amazon S3 e, então, acionar uma função do AWS Lambda para ler esses dados e enviá-los ao destino de sua escolha. Para obter mais informações, consulte Using AWS Lambda with Amazon S3 (Usar o AWS Lambda com o Simple Storage Service [Amazon S3]) no Guia do desenvolvedor do AWS Lambda.
 
P: Que modelo de entrega o Kinesis Data Analytics oferece?
Os aplicativos SQL no Kinesis Data Analytics usam o modelo de entrega “ao menos uma vez” para a saída de aplicativos para os destinos configurados. Os aplicativos do Kinesis Data Analytics recebem pontos de verificação internos, que são os momentos específicos em que os registros de saída foram entregues para os destinos sem perda de dados. O serviço usa os pontos de verificação conforme a necessidade para garantir que a saída do aplicativo seja entregue pelo menos uma vez aos destinos configurados. Para obter mais informações sobre o modelo de entrega, consulte Configuring Application Output (Configuração da saída da aplicação) no Guia do desenvolvedor do Amazon Kinesis Data Analytics para SQL.

Comparação com outras soluções de processamento de streams

P: Qual é a diferença entre usar o Amazon Kinesis Data Analytics e executar meu próprio aplicativo utilizando a biblioteca de cliente do Amazon Kinesis?
A biblioteca de cliente do Amazon Kinesis (KCL) é uma biblioteca predefinida que ajuda você a criar aplicativos consumidores para ler e processar dados de um fluxo de dados do Amazon Kinesis. A KCL resolve problemas complexos, como a adaptação a mudanças no volume de streams de dados, o balanceamento de carga de dados de streaming, a coordenação de serviços distribuídos e o processamento de dados com tolerância a falhas. A KCL permite que você se concentre na lógica de negócios durante a criação de aplicativos. 
 
Com o Kinesis Data Analytics, você pode processar e consultar dados de streaming em tempo real. Você usa o SQL padrão para processar seus fluxos de dados, portanto, não é necessário aprender uma nova linguagem de programação. Basta indicar ao Kinesis Data Analytics um stream de dados de entrada, escrever consultas SQL e especificar onde você deseja carregar os resultados. O Kinesis Data Analytics usa a KCL para ler dados de fontes de dados de streaming como uma parte de um aplicativo subjacente. O serviço se encarrega disso, como também de muitos dos conceitos mais complexos associados ao uso da KCL, como a definição de pontos de verificação. 
 
Caso deseje ter uma solução gerenciada e utilizar o SQL para processar os dados do seu stream de dados, você deve usar o Kinesis Data Analytics. Use a KCL se for necessário criar uma solução de processamento personalizada cujos requisitos não são atendidos pelo Kinesis Data Analytics e você puder gerenciar o aplicativo consumidor resultante.

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

Visite a p&aacute;gina de defini&ccedil;&atilde;o de pre&ccedil;o do Kinesis Data Analytics
Calcule seus custos

Visite a página de definição de preço do Amazon Kinesis Data Analytics.

Consulte o guia de conceitos b&aacute;sicos
Consulte o guia de conceitos básicos

Saiba como usar o Amazon Kinesis Data Analytics no guia passo a passo para SQL ou Apache Flink.

Comece a criar no console
Comece a criar aplicativos de streaming

Crie seu primeiro aplicativo de streaming no console do Amazon Kinesis Data Analytics.