Bombas e fluxos no 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á.

Bombas e fluxos no aplicativo

Ao configurar a entrada do aplicativo, mapeie uma origem de streaming para um fluxo no aplicativo que é criado. Os dados fluem continuamente da origem de streaming para o stream no aplicativo. Um stream no aplicativo funciona como uma tabela que você pode consultar usando instruções SQL, mas é chamado de stream porque representa o fluxo de dados contínuo.

nota

Não confunda streams no aplicativo com streams de dados do Amazon Kinesis e streams de entrega do Firehose. Os streams no aplicativo existem apenas no contexto de um aplicativo do Amazon Kinesis Data Analytics. Os fluxos de dados do Kinesis e os streams de entrega do Firehose existem independentemente do seu aplicativo. Você pode configurá-los como uma origem de streaming na configuração de entrada do aplicativo ou como um destino na configuração de saída.

Também é possível criar mais fluxos no aplicativo, conforme necessário, para armazenar resultados de consulta intermediários. A criação de um stream no aplicativo é um processo de duas etapas. Primeiro, você cria um stream no aplicativo e, em seguida, bomba dados nele. Por exemplo, suponha que a configuração de entrada do aplicativo crie um fluxo no aplicativo chamado INPUTSTREAM. No exemplo a seguir, você cria outro stream (TEMPSTREAM) e, em seguida, bomba dados de INPUTSTREAM nele.

  1. Crie um stream no aplicativo (TEMPSTREAM) com três colunas, como mostrado a seguir:

    CREATE OR REPLACE STREAM "TEMPSTREAM" ( "column1" BIGINT NOT NULL, "column2" INTEGER, "column3" VARCHAR(64));

    Os nomes das colunas são especificados entre aspas, diferenciando maiúsculas de minúsculas. Para obter mais informações, consulte Identificadores em Amazon Kinesis Data Analytics SQL Reference.

  2. Insira dados no stream usando uma bomba. Uma bomba é uma consulta de inserção contínua em execução que insere dados de um stream no aplicativo em outro stream no aplicativo. A instrução a seguir cria uma bomba (SAMPLEPUMP) e insere dados em TEMPSTREAM selecionando registros de outro stream (INPUTSTREAM).

    CREATE OR REPLACE PUMP "SAMPLEPUMP" AS INSERT INTO "TEMPSTREAM" ("column1", "column2", "column3") SELECT STREAM inputcolumn1, inputcolumn2, inputcolumn3 FROM "INPUTSTREAM";

Você pode ter várias inserções de gravadores em um stream no aplicativo, e vários leitores selecionados no stream. Pense em um fluxo no aplicativo como a implementação de um paradigma de mensagens de publicação/assinatura. Nesse paradigma, a linha de dados, incluindo o horário da criação e o horário do recebimento, pode ser processada, interpretada e encaminhada por uma cascata de instruções de streaming com SQL, sem a necessidade de ser armazenada em um RDBMS tradicional.

Após criar um stream no aplicativo, você poderá executar consultas SQL normais.

nota

Ao consultar fluxos, a maioria das instruções SQL são vinculados usando uma janela baseada em linha ou em horário. Para ter mais informações, consulte Consultas em janelas.

Você também pode associar streams. Para exemplos de associação, consulte Operações de dados de streaming: associações de streams.