

Após uma análise cuidadosa, decidimos descontinuar o Amazon Kinesis Data Analytics para aplicativos SQL:

1. A partir de **1º de setembro de 2025,** não forneceremos nenhuma correção de bug para aplicativos do Amazon Kinesis Data Analytics para SQL porque teremos suporte limitado para ele, devido à próxima descontinuação.

2. A partir **de 15 de outubro de 2025,** você não poderá criar novos aplicativos Kinesis Data Analytics para SQL.

3. Excluiremos as aplicações a partir de **27 de janeiro de 2026**. Você não poderá mais iniciar nem operar as aplicações do Amazon Kinesis Data Analytics para SQL. A partir dessa data, não haverá mais suporte ao Amazon Kinesis Data Analytics para SQL. Para obter mais informações, consulte [Descontinuação de aplicações do Amazon Kinesis Data Analytics para SQL](discontinuation.md).

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: recuperação dos valores que ocorrem com mais frequência (TOP\$1K\$1ITEMS\$1TUMBLING)
<a name="examples-window-topkitems"></a>

Este exemplo do Amazon Kinesis Data Analytics demonstra como usar a função `TOP_K_ITEMS_TUMBLING` para recuperar os valores que ocorrem com mais frequência em uma janela em cascata. Para obter mais informações, consulte a [`TOP_K_ITEMS_TUMBLING`função](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/top-k.html) em *Amazon Managed Service for Apache Flink SQL Reference*. 

A função `TOP_K_ITEMS_TUMBLING` é útil quando agrega dezenas ou centenas de milhares de chaves e você deseja reduzir o uso de recursos. A função gera o mesmo resultado que a agregação com as cláusulas `GROUP BY` e `ORDER BY`.

Neste exemplo, você grava os registros a seguir em um fluxo de dados do Amazon Kinesis. 

```
{"TICKER": "TBV"}
{"TICKER": "INTC"}
{"TICKER": "MSFT"}
{"TICKER": "AMZN"}
...
```



Em seguida, você cria um aplicativo Kinesis Data Analytics no, com Console de gerenciamento da AWS o stream de dados do Kinesis como fonte de streaming. O processo de descoberta lê os registros de exemplo na origem de streaming e infere um esquema no aplicativo com uma coluna (`TICKER`) conforme mostrado a seguir.

![\[Captura de tela do console mostrando o esquema no aplicativo com uma coluna de marcador.\]](http://docs.aws.amazon.com/pt_br/kinesisanalytics/latest/dev/images/ex_topk_schema.png)


Você usa o código do aplicativo com a função `TOP_K_VALUES_TUMBLING` para criar uma agregação em janelas dos dados. Em seguida, insira os dados resultantes em outro stream no aplicativo, conforme mostrado na captura de tela a seguir: 



![\[Captura de tela do console mostrando os dados resultantes em um stream no aplicativo.\]](http://docs.aws.amazon.com/pt_br/kinesisanalytics/latest/dev/images/ex_topk.png)


No procedimento a seguir, você criará um aplicativo do Kinesis Data Analytics que recupera os valores que ocorrem com mais frequência no stream de entrada.

**Topics**
+ [Etapa 1: Criar um fluxo de dados Kinesis](#examples-window-topkitems-1)
+ [Etapa 2: Criar o aplicativo Kinesis Data Analytics](#examples-window-topkitems-2)

## Etapa 1: Criar um fluxo de dados Kinesis
<a name="examples-window-topkitems-1"></a>

Crie um fluxo de dados do Amazon Kinesis e preencha registros da seguinte forma:

1. [Faça login no Console de gerenciamento da AWS e abra o console do Kinesis em https://console.aws.amazon.com /kinesis.](https://console.aws.amazon.com/kinesis)

1. Selecione **Fluxos de dados** no painel de navegação.

1. Selecione **Create Kinesis stream (Criar stream do Kinesis)** e crie um stream com um estilhaço. Para obter mais informações, consulte [Criar um fluxo](https://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one-create-stream.html) no *Guia do desenvolvedor do Amazon Kinesis Data Streams*.

1. Para gravar registros em um streaming de dados do Kinesis em um ambiente de produção, recomendamos usar o [Kinesis Client Library](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html) ou a [API do Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-sdk.html). Para simplificar, este exemplo usa o script Python a seguir para gerar registros. Execute o código para preencher os registros de marcador de exemplo. Esse código simples grava continuamente um registro de marcador aleatório no stream. Deixe o script em execução para que você possa gerar o esquema do aplicativo em uma etapa posterior.

   ```
    
   import datetime
   import json
   import random
   import boto3
   
   STREAM_NAME = "ExampleInputStream"
   
   
   def get_data():
       return {
           "EVENT_TIME": datetime.datetime.now().isoformat(),
           "TICKER": random.choice(["AAPL", "AMZN", "MSFT", "INTC", "TBV"]),
           "PRICE": round(random.random() * 100, 2),
       }
   
   
   def generate(stream_name, kinesis_client):
       while True:
           data = get_data()
           print(data)
           kinesis_client.put_record(
               StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey"
           )
   
   
   if __name__ == "__main__":
       generate(STREAM_NAME, boto3.client("kinesis"))
   ```

## Etapa 2: Criar o aplicativo Kinesis Data Analytics
<a name="examples-window-topkitems-2"></a>

Crie um aplicativo Kinesis Data Analytics, da seguinte maneira:

1. [Abra o console do Managed Service for Apache Flink em https://console.aws.amazon.com /kinesisanalytics.](https://console.aws.amazon.com/kinesisanalytics)

1. Escolha **Create application (Criar aplicativo)**, digite um nome para o aplicativo e selecione **Create application (Criar aplicativo)**.

1. Na página de detalhes do aplicativo, escolha **Connect streaming data (Conectar dados de streaming)** para se conectar com a fonte. 

1. Na página **Connect to source (Conectar com a fonte)**, faça o seguinte:

   

   1. Escolha o stream criado na seção anterior. 

   1. Selecione **Discover schema (Descobrir esquema)**. Aguarde o console mostrar o esquema inferido e os registros de exemplos usados para inferir o esquema do stream do aplicativo criado. O esquema inferido tem uma coluna.

   1. Escolha **Save schema and update stream samples**. Depois que o console salvar o esquema, escolha **Exit (Sair)**.

   1. Escolha **Save and continue**.

1. Na página de detalhes de aplicativo, escolha **Go to SQL editor (Ir para o editor de SQL)**. Para iniciar o aplicativo, escolha **Yes, start application (Sim, iniciar o aplicativo)** na caixa de diálogo exibida.

1. No editor SQL, escreva o código do aplicativo e verifique os resultados da seguinte forma:

   1. Copie o código de aplicativo a seguir e cole-o no editor:

      ```
      CREATE OR REPLACE STREAM DESTINATION_SQL_STREAM (
        "TICKER" VARCHAR(4), 
        "MOST_FREQUENT_VALUES" BIGINT
      );
      
      CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
          INSERT INTO "DESTINATION_SQL_STREAM"
          SELECT STREAM * 
              FROM TABLE (TOP_K_ITEMS_TUMBLING(
                  CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001"),
                  'TICKER',         -- name of column in single quotes
                  5,                       -- number of the most frequently occurring values
                  60                       -- tumbling window size in seconds
                  )
              );
      ```

   1. Escolha **Save and run SQL**. 

      Na guia **Real-time analytics (Análise em tempo real)**, você pode ver todos os fluxos de aplicativo criados pelo aplicativo e verificar os dados. 