Partilhar via


Tutorial do Real-Time Intelligence parte 3: Transformar dados em um banco de dados KQL

Observação

Este tutorial faz parte de uma série. Para a seção anterior, consulte: Tutorial do Real-Time Intelligence parte 2: Obter dados no hub Real-Time.

Nesta parte do tutorial, você aprenderá a usar uma política de atualização para transformar dados em um banco de dados KQL no Real-Time Intelligence. As políticas de atualização são mecanismos de automação acionados quando novos dados são gravados em uma tabela. Eles eliminam 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 diferentes transformações e salvando dados em várias tabelas simultaneamente. As tabelas de destino podem ter um esquema diferente, uma política de retenção e outras políticas 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. Navegue até o banco de dados KQL que você criou em uma etapa anterior, chamada Tutorial.

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

  3. Copie/cole o seguinte comando para alterar a tabela para mover a tabela para uma pasta Bronze.

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

Criar tabela de destino

Nesta etapa, você cria uma tabela de destino que será usada para armazenar os dados que são transformados com a política de atualização.

  1. Copie/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: dynamic, Longitude: dynamic, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
    
  2. Execute o comando para criar a tabela. Agora você deverá ver outra tabela debaixo do nó Tabelas na árvore de objetos chamada TransformedData.

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

Nesta etapa, você cria uma função armazenada que manté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/cole o seguinte comando 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. Agora você deve ver a função TransformRawData sob o nó Functions na árvore de objetos.

Aplicar política de atualização

Nesta etapa, você aplica 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 + Novo>política de atualização da tabela.

  3. Edite a política para que corresponda ao código a seguir ou copie/cole o seguinte comando 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 transformação

Nesta etapa, você verifica 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/cole a seguinte consulta no editor de consultas para exibir 10 registros arbitrários na tabela de origem. Execute a consulta.

    RawData
    | take 10
    
  2. Copie/cole a seguinte consulta no editor de consultas para exibir 10 registros arbitrários na tabela de destino. Execute 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 as tarefas executadas neste tutorial, consulte:

Próximo passo