Código do aplicativo - Guia do Desenvolvedor de Amazon Kinesis Data Analytics para aplicativos SQL

Para novos projetos, recomendamos que você use o novo Managed Service for Apache Flink Studio em vez do Kinesis Data Analytics para aplicativos SQL. O Managed Service for Apache Flink Studio combina facilidade de uso com recursos analíticos avançados, permitindo que você crie aplicativos sofisticados de processamento de stream em minutos.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Código do aplicativo

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. Para obter mais informações, consulte Amazon Kinesis Data Analytics para aplicativos SQL: como funciona.

Para obter mais informações sobre os elementos da linguagem SQL compatíveis com o Kinesis Data Analytics, consulte Referência SQL do Amazon Kinesis Data Analytics.

Em bancos de dados relacionais, você trabalha com tabelas, usando instruções INSERT para adicionar os registros e a instrução SELECT para consultar os dados. No Amazon Kinesis Data Analytics, você trabalha com streams. É possível gravar uma instrução SQL para consultar esses streams. Os resultados da consulta de um stream no aplicativo são sempre enviados para outro aplicativo no stream. Ao executar análises complexas, você pode criar vários streams no aplicativo para manter os resultados de análises intermediárias. E, por fim, você configura a saída do aplicativo para manter os resultados da análise final (de um ou mais streams no aplicativo) em destinos externos. Resumindo, o padrão a seguir é comum na gravação do código do aplicativo:

  • A instrução SELECT é sempre usada no contexto de uma instrução INSERT. Ou seja, ao selecionar linhas, você insere resultados em outro stream no aplicativo.

  • A instrução INSERT é sempre usada no contexto de uma bomba. Ou seja, você usa bombas para gravar em um stream no aplicativo.

O código do aplicativo de exemplo a seguir lê registros de um stream no aplicativo (SOURCE_SQL_STREAM_001) e o grava em outro stream no aplicativo (DESTINATION_SQL_STREAM no aplicativo). É possível inserir registros em streams no aplicativo usando bombas, como mostrado a seguir:

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), change DOUBLE, price DOUBLE); -- Create a pump and insert into output stream. CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, change,price FROM "SOURCE_SQL_STREAM_001";
nota

Os identificadores que você especifica para nomes de stream e nomes de coluna seguem as convenções padrão do SQL. Por exemplo, se você colocar um identificador entre aspas, ele diferenciará maiúsculas de minúsculas. Caso contrário, o identificador será padronizado com maiúsculas. Para obter mais informações sobre identificadores, consulte Identificadores no Amazon Managed Service for Apache Flink SQL Reference.

O código do aplicativo pode consistir em muitas instruções SQL. Por exemplo:

  • É possível gravar consultas SQL de forma sequencial com o resultado de uma instrução SQL contribuindo para a próxima instrução SQL.

  • Você também pode gravar consultas SQL para execução independente uma da outra. Por exemplo, gravar duas instruções SQL que consultam o mesmo stream no aplicativo, mas que enviam a saída para streams no aplicativo diferentes. Você pode então consultar os streams no aplicativo recém-criados de modo independente.

É possível criar streams no aplicativo para salvar resultados intermediários. Insira os dados em streams no aplicativo usando bombas. Para obter mais informações, consulte Bombas e fluxos no aplicativo.

Se você adicionar uma tabela de referência no aplicativo, poderá gravar no SQL para associar dados nos fluxos de aplicativo e tabelas de referência. Para obter mais informações, consulte Exemplo: adição de dados de referência a um aplicativo do Kinesis Data Analytics.

De acordo com a configuração de saída do aplicativo, o Amazon Kinesis Data Analytics grava dados de streams no aplicativo específicos para o destino externo conforme a configuração de saída do aplicativo. Certifique-se de gravar o código do aplicativo nos streams no aplicativo especificados na configuração de saída.

Para obter mais informações, consulte os tópicos a seguir: