Condividi tramite


Real-Time Tutorial di Intelligence parte 3: Trasformare i dati in un database KQL

Nota

Questa esercitazione fa parte di una serie. Per la sezione precedente, consultare: Real-Time Guida all'Intelligenza, parte 2: Ottenere dati nell'hub Real-Time.

In questa parte dell'esercitazione si apprende come usare una policy di aggiornamento per trasformare i dati in un database KQL in Real-Time Intelligence. I criteri di aggiornamento sono meccanismi di automazione attivati quando vengono scritti nuovi dati in una tabella. Eliminano la necessità di orchestrazione speciale eseguendo una query per trasformare i dati inseriti e salvare il risultato in una tabella di destinazione. È possibile definire più criteri di aggiornamento in una singola tabella, consentendo trasformazioni diverse e salvando i dati in più tabelle contemporaneamente. Le tabelle di destinazione possono avere uno schema, criteri di conservazione e altri criteri diversi dalla tabella di origine.

Spostare la tabella di dati grezzi nella cartella bronze

In questo passaggio la tabella dati non elaborata viene spostata in una cartella Bronze per organizzare i dati nel database KQL.

  1. Accedere al database KQL creato in un passaggio precedente, denominato Tutorial.

  2. Nell'albero degli oggetti, sotto il nome del database KQL, selezionare l'area di lavoro delle query denominata Tutorial_queryset.

  3. Copia e incolla il comando seguente per modificare la tabella e spostarla in una cartella 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")
    

Creare tabella di destinazione

In questo passaggio si crea una tabella di destinazione che verrà usata per archiviare i dati trasformati con i criteri di aggiornamento.

  1. Copiare/incollare il comando seguente per creare una nuova tabella denominata TransformedData con uno schema specificato.

    .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. Eseguire il comando per creare la tabella. Dovresti ora vedere un'altra tabella sotto il nodo Tables nell'albero degli oggetti denominata TransformedData.

Creare una funzione con la logica di trasformazione

In questo passaggio viene creata una funzione archiviata che contiene la logica di trasformazione da usare nei criteri di aggiornamento. La funzione analizza la colonna BikepointID e aggiunge due nuove colonne calcolate.

  1. Nella barra multifunzione del menu, selezionare Database.

  2. Selezionare +Nuova funzione>.

  3. Modificare la funzione in modo che corrisponda al codice seguente oppure copiare/incollare il comando seguente nell'editor di query.

    .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. Eseguire il comando per creare la funzione. Verrà ora visualizzata la funzione TransformRawData sotto il nodo Funzioni nell'albero degli oggetti.

Applicare i criteri di aggiornamento

In questo passaggio si applicano criteri di aggiornamento alla tabella di destinazione per trasformare i dati. La politica di aggiornamento utilizza la funzione archiviata TransformRawData() per analizzare la colonna BikepointID e aggiunge due nuove colonne calcolate.

  1. Nel menu della barra multifunzione, selezionare Database.

  2. Selezionare + Nuovo criterio di aggiornamento tabella>.

  3. Modificare il criterio in modo che corrisponda al codice seguente oppure copiare/incollare il comando seguente nell'editor di query.

    .alter table TransformedData policy update
    ```[{
        "IsEnabled": true,
        "Source": "RawData",
        "Query": "TransformRawData()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false
    }]```
    
  4. Eseguire il comando per creare i criteri di aggiornamento.

Verificare la trasformazione

In questo passaggio si verifica che la trasformazione sia riuscita confrontando l'output delle tabelle di origine e di destinazione.

Nota

Potrebbero essere necessari alcuni secondi per visualizzare i dati nella tabella trasformata.

  1. Copiare/incollare la query seguente nell'editor di query per visualizzare 10 record arbitrari nella tabella di origine. Esegui la query.

    RawData
    | take 10
    
  2. Copiare/incollare la query seguente nell'editor di query per visualizzare 10 record arbitrari nella tabella di destinazione. Esegui la query.

    TransformedData
    | take 10
    

Si noti che la colonna BikepointID nella tabella di destinazione non contiene più il prefisso "BikePoints_".

Per altre informazioni sulle attività eseguite in questa esercitazione, vedere:

Passaggio successivo