Exemplo: detectar hotspots em um streaming (função HOTSPOTS) - 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á.

Exemplo: detectar hotspots em um streaming (função HOTSPOTS)

O Amazon Kinesis Data Analytics oferece uma função HOTSPOTS, que pode localizar e retornar informações sobre regiões relativamente densas nos dados. Para obter mais informações, consulte HOTSPOTS em Amazon Managed Service for Apache Flink SQL Reference.

Neste exercício, você escreve o código do aplicativo para localizar hotspots na origem de streaming do aplicativo. Para configurar o aplicativo, siga as seguintes etapas:

  1. Configurar uma origem de streaming: configure um streaming do Kinesis e escreva dados de coordenadas de amostra conforme mostrado a seguir:

    {"x": 7.921782426109737, "y": 8.746265312709893, "is_hot": "N"} {"x": 0.722248626528026, "y": 4.648868803193405, "is_hot": "Y"}

    O exemplo fornece um script Python para preencher o streaming. Os valores x e y são gerados aleatoriamente, com alguns registros sendo agrupados em determinados locais.

    O campo is_hot será fornecido como um indicador se o script tiver gerado intencionalmente o valor como parte de um ponto de acesso. Isso pode ajudar a avaliar se a função de detecção do ponto de acesso está operando corretamente.

  2. Crie o aplicativo: usando o AWS Management Console, você poderá criar um aplicativo Kinesis Data Analytics. Configure a entrada do aplicativo mapeando a origem do streaming para um streaming do aplicativo de entrada (SOURCE_SQL_STREAM_001). Quando o aplicativo é iniciado, o Kinesis Data Analytics lê continuamente a origem do streaming e insere registros no streaming do aplicativo de entrada.

    Neste exercício, você usa o seguinte código para o aplicativo:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "x" DOUBLE, "y" DOUBLE, "is_hot" VARCHAR(4), HOTSPOTS_RESULT VARCHAR(10000) ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT "x", "y", "is_hot", "HOTSPOTS_RESULT" FROM TABLE ( HOTSPOTS( CURSOR(SELECT STREAM "x", "y", "is_hot" FROM "SOURCE_SQL_STREAM_001"), 1000, 0.2, 17) );

    O código lê linhas no SOURCE_SQL_STREAM_001, analisa-o em busca de hotspots significativos e grava os dados resultantes em outro streaming do aplicativo de entrada (DESTINATION_SQL_STREAM). Você usa bombas para inserir linhas em streamings do aplicativo de entrada. Para obter mais informações, consulte Bombas e fluxos no aplicativo.

  3. Configurar a saída: configure a saída do aplicativo para enviar dados do aplicativo para um destino externo, outro fluxo de dados do Kinesis. Revise as pontuações do ponto de acesso e determine quais indicam se um ponto de acesso ocorreu (e que você precisa ser alertado). Você pode usar uma função do AWS Lambda para processar ainda mais informações do ponto de acesso e configurar alertas.

  4. Verificar a saída – O exemplo inclui um aplicativo JavaScript que lê dados do streaming de saída e os exibe graficamente, de maneira que você possa ver os hotspots gerados pelo aplicativo em tempo real.

O exercício usa a região do Oeste dos EUA (Oregon) (us-west-2) para criar esses streams e o aplicativo. Se você usar qualquer outra região, atualize o código de acordo.