P: O que é o Amazon Kinesis Data Analytics?

O Amazon Kinesis Data Analytics é a maneira mais fácil de processar e analisar dados de streaming em tempo real. Com o Amazon Kinesis Data Analytics, você só precisa usar o SQL padrão para processar seus streams de dados, portanto, não é necessário aprender nenhuma nova linguagem de programação. Basta indicar o Kinesis Data Analytics em um stream de dados de entrada, escrever suas consultas SQL e especificar onde você deseja carregar os resultados. O Kinesis Data Analytics processa a execução contínua das consultas SQL de dados em trânsito e envia os resultados aos destinos.

P: O que é processamento de streams em tempo real e por que ele é necessário?

Estamos recebendo uma enxurrada de dados devido ao crescimento explosivo das fontes de dados em tempo real. Sejam dados de log chegando de aplicações móveis e web, dados de compras de sites de e-commerce ou dados de sensores de dispositivos da IoT, todos eles disponibilizam informações que podem ajudar empresas a aprenderem sobre o que os seus clientes, seu departamento e a sua empresa estão fazendo no momento. Ao ter visibilidade sobre esses dados conforme eles são recebidos, você pode monitorar sua empresa em tempo real e aproveitar rapidamente novas oportunidades de negócios, como fazer ofertas promocionais para clientes com base em onde eles possam estar em um determinado momento, além de monitorar sentimento social e atitudes dinâmicas do cliente para identificar e agir diante de novas oportunidades.

Para aproveitar essas oportunidades, você precisa de um conjunto diferente de ferramentas de análise para coletar e analisar dados de streaming em tempo real do que o disponibilizado tradicionalmente para dados estáticos armazenados. Com a análise tradicional, você reúne informações, as armazena em um banco de dados e as analisa horas, dias ou semanas depois. A análise de dados em tempo real exige abordagem, ferramentas e serviços diferentes. Em vez de executar consultas de banco de dados sobre dados armazenados, as plataformas de análise de streaming processam os dados continuamente antes de eles serem armazenados em um banco de dados. Os dados de streaming fluem em um ritmo incrível que pode aumentar ou diminuir o tempo todo. As plataformas de análise de streaming precisam estar aptas a processar esses dados quando eles são recebidos, geralmente em velocidades de milhões de eventos por hora.

P: O que posso fazer com o Kinesis Data Analytics?

Você pode usar o Kinesis Data Analytics em basicamente qualquer caso de uso em que estiver coletando dados continuamente em tempo real e desejar obter informações em segundos ou minutos, em vez de ter de esperar durante dias ou, até mesmo, semanas. Em especial, o Kinesis Data Analytics permite que você crie aplicativos de processamento de streams completos para análise de logs, análise de clickstream, Internet das Coisas (IoT), tecnologia de anúncios, jogos e muito mais. Os três padrões de uso mais comuns são análise de série temporal, painéis em tempo real, além de alertas e notificações em tempo real.

Gere uma análise de série temporal

A análise de série temporal permite que você monitore e entenda como está a popularidade dos seus dados com o passar do tempo. Com o Kinesis Data Analytics, você pode criar um código SQL que gere continuamente análises de série temporal durante intervalos de tempo. Por exemplo, você pode criar um placar de líderes em tempo real para um jogo móvel ao calcular cada minuto dos principais jogadores e enviar esses dados para o Amazon S3. 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.

Alimente painéis em tempo real

Você pode criar aplicativos que calculam resultados de consulta e os emitem para um painel em tempo real, permitindo que você visualize os dados praticamente em tempo real. Por exemplo, uma aplicação pode calcular continuamente métricas empresariais, como o número de compras de um site de e-commerce, agrupadas pela categoria de produto, e enviar os resultados para o Amazon Redshift para visualização com uma ferramenta de inteligência de negócios de sua escolha. Considere outro exemplo uma aplicação que processa dados de log e calcula o número de erros da aplicação e, então, envia os resultados para o Amazon Elasticsearch Service para visualização com o Kibana.

Crie alarmes e notificações em tempo real

Você pode criar aplicações que enviam alarmes ou notificações em tempo real quando determinadas métricas atingem limites predefinidos ou, em casos mais avançados, quando a sua aplicação detecta anomalias usando o algoritmo de aprendizado de máquina que nós disponibilizamos. Por exemplo, uma aplicação 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 outro aplicativo para procurar por eventos que atendam a determinados critérios e notificar automaticamente os clientes certos usando o Kinesis Data Streams e o Amazon Simple Notification Service (SNS).

P: Como faço para começar a usar o Kinesis Data Analytics?

Faça login no console do Kinesis Data Analytics e crie um novo aplicativo de processamento de streams. Você também pode usar a ILC da AWS e os SDKs da AWS. 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 schema 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 em tempo real. 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 o throughput de dados do stream de origem e da complexidade da consulta para a maioria dos cenários. Para obter informações detalhadas sobre os limites do serviço, consulte os limites no guia do desenvolvedor do Amazon Kinesis Data Analytics.


P: O que é um aplicativo do Kinesis Data Analytics?

Um aplicativo é a entidade do Kinesis Data Analytics com a qual você trabalha. Os aplicativos do Kinesis Data Analytics leem e processam continuamente dados de streaming em tempo real. Escreva o código do aplicativo usando SQL 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 de três principais componentes:

  • Entrada – A origem de streaming da sua aplicação. Na configuração de entrada, você mapeia a origem de streaming para um streaming de entrada no aplicativo. O streaming no aplicativo funciona como uma tabela continuamente atualizada em que você pode executar as operações SQL SELECT e INSERT. Cada registro de entrada tem um schema associado, que é aplicado como parte da inserção do registro dentro do streaming no aplicativo.
  • Código da aplicação – Uma série de instruções SQL que processam entrada e produzem saída. Em sua forma mais simples, o código da aplicação pode ser uma instrução SQL única que faz a seleção de uma entrada de streaming e insere os resultados em uma saída de streaming. Ele também pode ser uma série de instruções SQL em que a saída de uma contribui para a entrada da próxima instrução SQL. É possível também escrever um código de aplicação para dividir um stream de entrada em vários streams e, então, aplicar consultas adicionais para processar esses streams separados. 
  • Saída – Você pode criar um ou mais streamings no aplicativo para armazenar resultados intermediários. Como opção, você pode configurar uma saída da aplicação para que ela mantenha dados de streamings no aplicativo específicos para um destino externo. 

P: O que é um streaming no aplicativo?

Um streaming no aplicativo é uma entidade que armazena dados continuamente na sua aplicação para que você execute as operações SQL SELECT e INSERT. Você interage com um streaming no aplicativo do mesmo modo como faria com uma tabela SQL. No entanto, a diferença entre um stream e uma tabela é que no stream os dados são continuamente atualizados. No seu código da aplicação, é possível criar streamings no aplicativo adicionais para armazenar resultados de consulta intermediários. Finalmente, a entrada e a saída configuradas representam elas mesmas na aplicação como streamings nos aplicativos.

P: A que entradas o aplicativo do Kinesis Data Analytics oferece suporte?

O Kinesis Data Analytics é compatível com dois tipos de entradas: fontes de dados de streaming e fontes de dados de referência. Uma fonte de dados de streaming gera dados continuamente, os quais são lidos na sua aplicação para processamento. 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. Cada aplicação não pode ter mais do que uma fonte de dados de streaming e não mais do que uma fonte de dados de referência. Um aplicativo 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 o aplicativo é inicializado, o Kinesis Data Analytics lê o objeto do S3 e cria uma tabela SQL no aplicativo para armazenar os dados de referência. O seu código da aplicação pode, então, associar-se a um streaming no aplicativo. Você pode atualizar os dados na tabela SQL chamando a API UpdateApplication.

P: Que código da aplicação é compatível?

O Kinesis Data Analytics é compatível com o SQL ANSI com algumas extensões para o SQL padrão, para facilitar o trabalho com dados de streaming. Além disso, o Kinesis Data Analytics disponibiliza vários algoritmos de aprendizado de máquina expostos como funções SQL, como detecção de anomalias, top-K aproximado e itens distintos aproximados.

P: Quais destinos têm suporte?

O Kinesis Data Analytics oferece suporte a até quatro destinos por aplicativo. Você pode manter resultados SQL para o Amazon S3, o Amazon Redshift, o Amazon Elasticsearch Service (por meio de um 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 posso configurar uma fonte de dados de streaming?

Uma fonte de dados de streaming pode ser um stream de dados do Amazon Kinesis ou um stream de entrega do Amazon Kinesis Data Firehose. O aplicativo do Kinesis Data Analytics lê continuamente novos dados por meio de fontes de dados de streaming, conforme eles vão sendo recebidos em tempo real. Os dados são disponibilizados no seu código SQL por meio de um streaming no aplicativo. Um streaming no aplicativo age como uma tabela SQL, pois, por meio dele, você pode criar, inserir e selecionar. No entanto, a diferença é que um streaming no aplicativo é atualizado continuamente com novos dados da fonte de dados de streaming.

Você pode usar o Console de Gerenciamento da AWS para adicionar uma fonte de dados de streaming. Você pode aprender mais sobre as origens na seção Configuring Application Input do Kinesis Data Analytics Developer Guide.

P: Como posso configurar uma fonte de dados de referência?

Uma fonte de dados de referência pode ser um objeto do Amazon S3. O aplicativo 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 têm suporte?

O Kinesis Data Analytics detecta o schema e analisa automaticamente registros JSON e CSV com codificação UTF-8 usando a API DiscoverInputSchema. Esse schema é aplicado aos dados lidos no stream como parte da inserção em um streaming 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 no Kinesis Data Analytics Developer Guide.

P: Como o stream de entrada é exposto ao código SQL?

O Kinesis Data Analytics aplica o seu schema especificado e insere seus dados em um ou mais streamings no aplicativo para origens de streaming, além de uma tabela SQL única para fontes de referência. O número padrão de streamings no aplicativo será o que atender às necessidades da maioria dos seus casos de uso. Você deve aumentá-lo, caso ache que sua aplicação não está acompanhando os dados mais recentes no seu stream de dados, conforme o definido pela métrica MillisBehindLatest do CloudWatch. O número de streamings no aplicativo exigido é impactado pelo volume de throughput no seu stream de origem e na complexidade da sua consulta. O parâmetro para a especificação do número de streamings no aplicativo mapeado para o seu stream de origem é chamado de paralelismo de entrada.


P: Qual é a aparência do código da aplicação?

O código da aplicação é 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. Use um bombeamento para tornar uma instrução INSERT contínua e grave em um streaming no aplicativo.
  • Use um bombeamento para juntar streamings no aplicativo, os selecionando por meio de um streaming no aplicativo e os inserindo em outro streaming no aplicativo. 

O código SQL a seguir disponibiliza uma aplicação em funcionamento simples:

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 do aplicativo, consulte Código do aplicativo no guia do desenvolvedor do Kinesis Data Analytics.

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. Acesse 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 inclui funções SQL predefinidas para vários recursos analíticos avançados, que inclui 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 os algoritmos Random Cut Forests, consulte o whitepaper Streaming Data Anomaly Detection.


P: Como eu configuro um destino?

No seu código da aplicação, você grava a saída de instruções SQL em um ou mais streamings no aplicativo. Como opção, você pode adicionar uma configuração de saída para que a sua aplicação mantenha tudo o que for gravado nos streamings no aplicativo específicos, para até quatro destinos externos. Esses destinos externos podem ser um bucket do Amazon S3, uma tabela do Amazon Redshift, um domínio do Amazon Elasticsearch (por meio do Amazon Kinesis Data Firehose) e um stream de dados do Amazon Kinesis. Cada aplicativo oferece suporte a até quatro destinos, que podem ser qualquer combinação dos descritos acima. Para obter mais informações, consulte Configuring Output Streams no Kinesis Data Analytics Developer Guide.

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. Nós recomendamos que você grave resultados em um stream 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 a sessão Example: AWS Lambda Integration no Kinesis Data Analytics Developer Guide. Como alternativa, você pode usar um stream de entrega do Amazon 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 Usar o AWS Lambda com o Amazon S3 no guia do desenvolvedor do AWS Lambda.

P: Que modelo de entrega o Kinesis Data Analytics disponibiliza?

O Kinesis Data Analytics usa 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 no Kinesis Data Analytics Developer Guide.


P: Como posso monitorar as operações e a performance de aplicativos do Kinesis Data Analytics?

A AWS disponibiliza várias ferramentas que você pode usar para monitorar aplicativos do Kinesis Data Analytics. Você pode configurar algumas dessas ferramentas para que façam o monitoramento para você. Para obter mais informações sobre como monitorar um aplicativo, consulte Monitoramento do Kinesis Data Analytics no guia do desenvolvedor do Kinesis Data Analytics.

P: Como posso gerenciar e controlar o acesso a aplicativos do Kinesis Data Analytics?

O Kinesis Data Analytics precisa de permissões para ler os registros de fontes de dados de streaming especificadas nos aplicativos. O Kinesis Data Analytics também precisa de permissões para gravar a saída dos aplicativos nos streams especificados na configuração de saída desses aplicativos. Você pode conceder essas permissões ao criar funções do 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 Granting Permissions no Kinesis Data Analytics Developer Guide.

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 de consultas para a maioria dos cenários. O Kinesis Data Analytics provisiona capacidade na forma de unidades de processamento do Amazon Kinesis (KPU). Uma única KPU disponibiliza a você memória (de 4 GB), além de computação e redes correspondentes.
Cada origem de streaming é mapeada para um streaming no aplicativo correspondente. Embora isso não seja exigido para muitos clientes, é possível usar as KPUs com maior eficiência aumentando o número de streams no aplicativo 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 fonte de dados de streaming, como estilhaços de um stream de dados do Amazon Kinesis, para o número de streamings no aplicativo que você especificou. Por exemplo, se você tem um stream de dados do Amazon Kinesis com 10 estilhaços como uma fonte de dados de streaming e especifica um paralelismo de entrada de dois, o Kinesis Data Analytics atribui cinco estilhaços do Amazon Kinesis para dois streamings no aplicativo chamados de “SOURCE_SQL_STREAM_001” e “SOURCE_SQL_STREAM_002”. Para obter mais informações, consulte Configuring Application Input no Kinesis Data Analytics Developer Guide.

P: Quais são as melhores práticas associadas à criação e ao gerenciamento de aplicativos do Kinesis Data Analytics?

Para obter informações sobre as melhores práticas, consulte a seção Best Practices do Kinesis Data Analytics Developer Guide, que aborda o gerenciamento de aplicativos, a definição do schema de entrada, a conexão com saídas e a criação do código do aplicativo.


P: Como faço para que uma determinada instrução SQL funcione corretamente?

Para obter detalhes, consulte Example Applications no Kinesis Data Analytics Developer Guide, que oferece vários exemplos de SQL que você pode usar. Além disso, a seção Kinesis Data Analytics SQL Reference disponibiliza um guia detalhado para a criação de instruções SQL de streaming. Se você ainda estiver tendo dificuldades, recomendamos que faça uma pergunta nos fóruns do Amazon Kinesis.

P: O Kinesis Data Analytics não conseguiu detectar ou descobrir meu schema. Como posso usar o Kinesis Data Analytics?

Para outros dados com codificação UTF-8 que não usam um delimitador, usam um delimitador que não seja o CSV, ou nos casos em que a API de descoberta não descobre totalmente o schema, você pode definir um schema manualmente ou usar funções de manipulação de strings para estruturar os dados. Para obter mais informações, consulte Using the Schema Discovery Feature and Related Editing no Kinesis Data Analytics Developer Guide.

P: Quais são os parâmetros importantes que devo monitorar para garantir que a minha aplicação seja executada corretamente?

O parâmetro mais importante a ser monitorado é a métrica do CloudWatch, MillisBehindLatest, que representa o nível de atraso da sua leitura do stream com relação ao horário atual. Essa métrica oferece uma maneira eficaz de determinar se você está processando registros do stream de origem rápido o suficiente. Configure um alarme do CloudWatch para que seja acionado, caso você atrase mais de uma hora (esse número depende do seu caso de uso e pode ser ajustado conforme for necessário). Você pode obter mais informações na seção Best Practices do Kinesis Data Analytics Developer Guide.

P: Como solucionar problemas de erros de código inválido ao executar um aplicativo do Kinesis Data Analytics?
Para obter informações sobre erros de código inválido e como solucionar problemas de aplicativos do Kinesis Data Analytics, consulte a seção Troubleshooting no Guia do desenvolvedor do Amazon Kinesis Data Analytics.


P: Quanto custa o Kinesis Data Analytics?

Com o Kinesis Data Analytics, você paga somente pelo que usar. É cobrada uma taxa por hora com base no número de unidades de processamento do Kinesis (ou KPUs) usado em média para executar sua aplicação de processamento de streams. Nós arredondamos esse número para cima para a KPU inteira mais próxima.

Uma KPU única é um recurso de processamento de streams composto de memória (4 GB), computação (1 vCPU) e recursos de redes correspondentes. Como o consumo de memória e computação de um aplicativo de streaming varia durante o processamento, o Kinesis Data Analytics escala de modo automático e elástico o número de KPUs com base na sua carga de trabalho de streaming. Não há recursos para provisionar, nem custos iniciais ou taxas mínimas associadas ao Kinesis Data Analytics.

Para obter mais informações sobre a definição de preço, consulte a página de definição de preço do 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 um aplicativo do Kinesis Data Analytics em execução que não esteja processando nenhum dado de origem?

Será cobrado um mínimo de uma KPU, caso um aplicativo 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 streaming gerenciada, que independe da origem de streaming por meio da qual lê dados e dos destinos nos quais grava os dados processados. Os custos de uso do Kinesis Data Firehose e do Kinesis Data Streams relacionados aos seus streams de entrada e saída serão cobrados independentemente.

P: Qual é a diferença entre usar o 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 stream 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 streams de dados, portanto, não é necessário aprender nenhuma nova linguagem de programação. Basta indicar o Kinesis Data Analytics para um stream de dados de entrada, escrever suas consultas SQL e especificar quando você deseja que os resultados sejam carregados. 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.