Compartir a través de


tutorial de Real-Time Intelligence, parte 3: Transformación de datos en una base de datos KQL

Nota

Este tutorial forma parte de una serie. Para la sección anterior, consulte: Tutorial de inteligencia, parte 2: Obtener datos en el hub Real-TimeReal-Time .

En esta parte del tutorial, aprenderá a usar una directiva de actualización para transformar datos en una base de datos KQL en Real-Time Intelligence. Las directivas de actualización son mecanismos de automatización desencadenados cuando se escriben nuevos datos en una tabla. Eliminan la necesidad de orquestación especial mediante la ejecución de una consulta para transformar los datos ingeridos y guardar el resultado en una tabla de destino. Se pueden definir varias directivas de actualización en una sola tabla, lo que permite diferentes transformaciones y guardar datos en varias tablas simultáneamente. Las tablas de destino pueden tener un esquema diferente, una política de retención diferente y otras políticas diferentes de la tabla de origen.

Mover la tabla de datos sin procesar a una carpeta Bronze

En este paso, mueva la tabla de datos sin procesar a la carpeta Bronze para organizar los datos en la base de datos KQL.

  1. Vaya a la base de datos de KQL que creó en un paso anterior, llamado Tutorial.

  2. En el árbol de objetos, en el nombre de la base de datos KQL, seleccione el área de trabajo de consulta denominada Tutorial_queryset.

  3. Copie o pegue el comando siguiente para modificar la tabla para mover la tabla a una carpeta 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")
    

Creación de una tabla de destino

En este paso, creará una tabla de destino que se usará para almacenar los datos que se transforman con la directiva de actualización.

  1. Copie o pegue el comando siguiente para crear una nueva tabla denominada TransformedData con un 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. Ejecute el comando para crear la tabla. Ahora debería ver otra tabla en el nodo Tablas en el árbol de objetos denominado TransformedData.

Creación de una función con lógica de transformación

En este paso, creará una función almacenada que contiene la lógica de transformación que se usará en la directiva de actualización. La función analiza la columna BikepointID y agrega dos columnas calculadas nuevas.

  1. En la cinta de menús, seleccione Base de datos.

  2. Seleccione +Nueva>Función.

  3. Edite la función para que coincida con el código siguiente o copie o pegue el comando siguiente en el 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. Ejecute el comando para crear la función. Ahora debería ver la función TransformRawData en el nodo Functions en el árbol de objetos.

Aplicar la política de actualización

En este paso, aplicará una directiva de actualización a la tabla de destino para transformar los datos. La directiva de actualización usa la función almacenada TransformRawData() para analizar la columna BikepointID y agrega dos nuevas columnas calculadas.

  1. En la cinta de menús, seleccione Base de datos.

  2. Seleccione + Nueva>Directiva de actualización de tabla.

  3. Edite la directiva para que coincida con el código siguiente o copie o pegue el comando siguiente en el editor de consultas.

    .alter table TransformedData policy update
    ```[{
        "IsEnabled": true,
        "Source": "RawData",
        "Query": "TransformRawData()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false
    }]```
    
  4. Ejecute el comando para crear la directiva de actualización.

Comprobación de la transformación

En este paso, comprobará que la transformación se realizó correctamente comparando la salida de las tablas de origen y de destino.

Nota

Es posible que tarde unos segundos en ver los datos de la tabla transformada.

  1. Copie o pegue la consulta siguiente en el editor de consultas para ver 10 registros arbitrarios en la tabla de origen. Ejecute la consulta.

    RawData
    | take 10
    
  2. Copie o pegue la consulta siguiente en el editor de consultas para ver 10 registros arbitrarios en la tabla de destino. Ejecute la consulta.

    TransformedData
    | take 10
    

Observe que la columna BikepointID de la tabla de destino ya no contiene el prefijo "BikePoints_".

Para obtener más información sobre las tareas realizadas en este tutorial, consulte:

Paso siguiente