Compartilhar via


tutorial do Real-Time Intelligence parte 4: Transformar dados em um banco de dados KQL

Observação

Este tutorial faz parte de uma série. Para a seção anterior, consulte: Real-Time Intelligence tutorial parte 3: Definir um alerta em seu fluxo de eventos.

Nesta parte do tutorial, você transforma dados em um banco de dados KQL usando uma política de atualização para disparar um mecanismo automatizado quando novos dados são gravados em uma tabela. A política elimina a necessidade de orquestração especial executando uma consulta para transformar os dados ingeridos e salvar o resultado em uma tabela de destino.

Várias políticas de atualização podem ser definidas em uma única tabela, permitindo transformações diferentes e salvando dados em várias tabelas simultaneamente. As tabelas de destino podem ter um esquema, uma política de retenção e outras políticas diferentes da tabela de origem.

Mover a tabela de dados brutos para uma pasta Bronze

Nesta etapa, você move a tabela de dados brutos para uma pasta Bronze para organizar os dados no banco de dados KQL.

  1. Vá para o workspace onde você criou recursos.

  2. Selecione o banco de dados KQL do Tutorial criado anteriormente.

  3. Na árvore de objetos, abaixo do nome do banco de dados KQL, selecione o espaço de trabalho de consulta chamado Tutorial_queryset.

    Captura de tela da seleção do **Tutorial_queryset** na árvore de itens do banco de dados.

  4. Copie e cole o seguinte comando no editor de consultas para mover a tabela RawData para uma pasta Bronze. Execute a consulta selecionando o botão Executar na faixa de opções do menu ou pressionando Shift + Enter.

    .alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:real,Longitude:real,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")
    

    Você verá uma nova pasta chamada Bronze que contém uma tabela chamada RawData no nó Tabelas na árvore de objetos.

    Captura de tela da subpasta Bronze que contém a tabela RawData.

Criar uma tabela de destino

Nesta etapa, você criará uma tabela de destino usada para armazenar os dados transformados pela política de atualização.

  1. Em uma nova linha, com pelo menos uma linha entre o cursor e a última consulta, copie e cole o comando a seguir para criar uma nova tabela chamada TransformedData com um esquema especificado.

    .create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: real, Longitude: real, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
    
  2. Execute o comando para criar a tabela.

    Você verá uma nova pasta chamada Silver contendo uma tabela chamada TransformedData no nó Tabelas na árvore de objetos.

    Captura de tela da subpasta Silver que contém a tabela TransformedData.

Criar uma função com lógica de transformação

Nesta etapa, você criará uma função armazenada que contém a lógica de transformação a ser usada na política de atualização. A função analisa a coluna BikepointID e adiciona duas novas colunas calculadas.

  1. Na faixa de opções do menu, selecione Banco de Dados.

  2. Selecione + Nova>Função.

  3. Edite a função para que ela corresponda ao código a seguir ou copie e cole o comando a seguir no editor de consultas.

    .create-or-alter function TransformRawData() {
    RawData
    | parse BikepointID with * "BikePoints_" BikepointID:int
    | extend BikesToBeFilled = No_Empty_Docks - No_Bikes
    | extend Action = iff(BikesToBeFilled > 0, tostring(BikesToBeFilled), "NA")
     }
    
  4. Execute o comando para criar a função.

    Você verá a função TransformRawData no nó Functions na árvore de objetos.

    Captura de tela da pasta Functions que contém a função TransformedData.

Aplicar uma política de atualização

Nesta etapa, você aplicará uma política de atualização à tabela de destino para transformar os dados. A política de atualização usa a função armazenada TransformRawData() para analisar a coluna BikepointID e adiciona duas novas colunas calculadas.

  1. Na faixa de opções do menu, selecione Banco de Dados.

  2. Selecione + Nova>política de atualização de tabela.

  3. Edite a política para que ela corresponda ao código a seguir ou copie/cole o comando a seguir no editor de consultas.

     .alter table TransformedData policy update
     ```[{
         "IsEnabled": true,
         "Source": "RawData",
         "Query": "TransformRawData()",
         "IsTransactional": false,
         "PropagateIngestionProperties": false
     }]```
    
  4. Execute o comando para criar a política de atualização.

Verificar a transformação

Nesta etapa, verifique se a transformação foi bem-sucedida comparando a saída das tabelas de origem e de destino.

Observação

Pode levar alguns segundos para ver os dados na tabela transformada.

  1. Copie e cole a consulta a seguir no editor de consultas para exibir 10 registros arbitrários na tabela de origem. Executa a consulta.

    RawData
    | take 10
    
  2. Copie e cole a consulta a seguir no editor de consultas para exibir 10 registros arbitrários na tabela de destino. Executa a consulta.

    TransformedData
    | take 10
    

Observe que a coluna BikepointID na tabela de destino não contém mais o prefixo "BikePoints_".

Para obter mais informações sobre tarefas neste tutorial, consulte:

Próxima etapa