Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este tutorial faz parte de uma série. Para a secção anterior, veja: Tutorial de Inteligência em Tempo Real parte 3: Defina um alerta no seu eventstream.
Nesta parte do tutorial, transformas dados numa base de dados KQL usando uma política de atualização para ativar um mecanismo automatizado quando novos dados são escritos numa tabela. A política elimina a necessidade de orquestração especial ao executar uma consulta para transformar os dados ingeridos e guardar o resultado numa tabela de destino.
Podem ser definidas múltiplas políticas de atualização numa única tabela, permitindo diferentes transformações e guardando dados em múltiplas 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.
Vai ao espaço de trabalho onde criaste os recursos.
Selecione a base de dados Tutorial KQL que criou anteriormente.
Na árvore de objetos, sob o nome do banco de dados KQL, selecione o espaço de trabalho de consulta chamado Tutorial_queryset.
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 fita 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")Vês uma nova pasta chamada Bronze contendo uma tabela chamada RawData sob o nó Tables na árvore de objetos.
Crie uma tabela de destino
Neste passo, cria-se uma tabela de alvo que é usada para armazenar os dados transformados pela política de atualização.
Numa nova linha, com pelo menos uma linha entre o cursor e a última consulta, copie e cole o comando seguinte 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")Execute o comando para criar a tabela.
Vês uma nova pasta chamada Silver contendo uma tabela chamada TransformedData sob o nó Tables na árvore de objetos.
Criar uma 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.
Na faixa de opções do menu, selecione Banco de dados.
Selecionar + Nova>Função.
Edite a função para que corresponda ao código seguinte, ou copie e cole o comando seguinte 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") }Execute o comando para criar a função.
Você vê a função TransformRawData sob o nó Functions na árvore de objetos.
Aplicar uma 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.
Na faixa de opções do menu, selecione Banco de dados.
Selecione + Nova>política de atualização de tabela.
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 }]```Execute o comando para criar a política de atualização.
Verificar transformação
Neste passo, verifique se a transformação é bem-sucedida comparando a saída das tabelas de origem e alvo.
Observação
Pode demorar alguns segundos a ver os dados na tabela transformada.
Copie e cole a seguinte consulta no editor de consultas para visualizar 10 registos arbitrários na tabela de origem. Executar a consulta.
RawData | take 10Copie e cole a seguinte consulta no editor de consultas para visualizar 10 registos arbitrários na tabela de destino. Executar a consulta.
TransformedData | take 10
Observe que a coluna BikepointID na tabela de destino não contém mais o prefixo "BikePoints_".
Conteúdo relacionado
Para obter mais informações sobre tarefas neste tutorial, consulte: