Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nesta parte do tutorial, você configura outro tipo de dados de exemplo: um fluxo de dados em tempo real de dados de ônibus de exemplo que inclui informações de série temporal sobre locais de ônibus. Você transmite os dados de exemplo para uma plataforma de eventos, executa algumas transformações nos dados e, em seguida, cria um atalho para transferir os dados da plataforma de eventos para o data lakehouse de exemplo que você criou na seção anterior. O construtor de gêmeos digitais requer que os dados estejam em uma lakehouse.
Criar uma casa de eventos
Navegue até o espaço de trabalho no qual você quer criar seus recursos do tutorial. Você deve criar todos os recursos no mesmo workspace.
Escolha + Novo item.
Na caixa de pesquisa Filtrar por tipo de item, insira Eventhouse.
Selecione o item Eventhouse.
Insira Tutorial como o nome da casa de eventos e clique em Criar. O Eventhouse e um banco de dados KQL são criados simultaneamente com o mesmo nome.
Quando o provisionamento for concluído, clique em Introdução na janela de boas-vindas.
A página de visão geral do Sistema do eventhouse é mostrada.
Criar o fluxo de eventos
Nesta seção, você criará um fluxo de eventos para enviar dados de transmissão do barramento de exemplo ao centro de eventos.
Adicionar origem
Siga estas etapas para criar o fluxo de eventos e adicionar dados de exemplo de Barramentos como a origem.
Na página Visão geral do sistema da casa de eventos, selecione o novo banco de dados tutorial na lista de bancos de dados KQL .
Na faixa de opções do menu, selecione Obter dados e escolha Eventstream > New eventstream.
Insira BusEventstream como o nome e selecione Criar. Quando o fluxo de eventos estiver pronto, ele será aberto.
Selecione Usar dados de amostra.
Na página Adicionar origem, selecione Ônibus em Dados de Exemplo. Insira BusDataSource para o nome de origem. Selecione Adicionar.
Quando o novo fluxo de eventos estiver pronto, ele será aberto na tela de criação.
Transformar dados
Nesta seção, você adicionará uma transformação aos dados de exemplo de entrada. Esta etapa converte os campos `ScheduleTime` e `Timestamp` para o tipo DateTime, e renomeia `Timestamp` para `ArrivalTime` por clareza. Os campos de carimbo de data/hora precisam estar no formato DateTime do construtor de gêmeos digitais (versão prévia) para usá-los como dados de série temporal.
Siga estas etapas para adicionar a transformação de dados.
Selecione a seta para baixo no bloco Transformar eventos ou adicionar destino, em seguida, selecione a operação predefinida Gerenciar campos. O bloco é renomeado para ManageFields.
Selecione o ícone de edição (em forma de lápis) no bloco MangeFields , que abre o painel Gerenciar campos .
Selecione Adicionar todos os campos. Essa ação garante que todos os campos dos dados de origem estejam presentes por meio da transformação.
Dica
Se nenhum campo estiver disponível para ser adicionado, aguarde alguns minutos para que os dados de exemplo sejam inicializados e tente novamente. Você pode selecionar os nós anteriores no painel para visualizar seus dados e confirmar se os dados de exemplo os alcançaram.
Selecione o campo Carimbo de Data/Hora . Alterne o tipo de alteração para Sim. Para Tipo Convertido, selecione DateTime na lista suspensa. Para Nome, insira o novo nome de ActualTime.
Selecione o campo ScheduleTime . Alterne o tipo de alteração para Sim. Para Tipo Convertido, selecione DateTime na lista suspensa. Deixe o nome como ScheduleTime.
Selecione Salvar para salvar ambas as propriedades atualizadas.
O painel Gerenciar campos é fechado. O bloco ManageFields continua a exibir um erro até que você o conecte a um destino.
Adicionar destino
Na faixa de opções do menu, selecione Adicionar destino e, em seguida, selecione Eventhouse.
Insira as seguintes informações no painel Eventhouse:
Campo Valor modo de ingestão de dados Processamento de eventos antes da ingestão Nome do destino TutorialDestination Área de trabalho Selecione o espaço de trabalho em que você criou seus recursos. Eventhouse Tutorial Banco de dados KQL Tutorial Tabela de destino KQL Criar novo – insira bus_data_raw como o nome da tabela Formato de dados de entrada Json Ativar a ingestão depois de adicionar a fonte de dados Verificado Clique em Salvar.
Na tela de criação, selecione o bloco ManageFields e arraste a seta para o bloco TutorialDestination para conectá-los. Essa ação resolve todas as mensagens de erro no fluxo.
Na faixa de opções do menu, selecione Publicar. O fluxo de eventos agora começa a enviar os dados de streaming de exemplo para sua casa de eventos.
Após alguns minutos, o cartão TutorialDestination na visualização eventstream exibe dados de exemplo na guia Visualização de dados. Talvez seja necessário atualizar a visualização algumas vezes enquanto espera a chegada dos dados.
Verifique se a tabela de dados está ativa em sua casa de eventos. Acesse o banco de dados KQL do Tutorial e atualize o modo de exibição. Agora ele contém uma tabela chamada bus_data_raw que contém dados.
Transformar os dados usando políticas de atualização
Agora que os dados de streaming do ônibus estão em um banco de dados KQL, você pode usar funções e uma política de atualização do Kusto para transformar ainda mais os dados. As transformações executadas nesta seção preparam os dados para uso no construtor de gêmeos digitais (versão prévia) e incluem as seguintes ações:
- Divide o campo
PropertiesJSON em colunas separadas para cada um de seus itens de dados contidosBusStatuseTimeToNextStation. O construtor de gêmeos digitais não tem recursos de análise JSON, portanto, você precisa separar esses valores antes que os dados vão para o construtor de gêmeos digitais. - Adiciona a coluna
StopCode, que é uma chave exclusiva que representa cada ponto de ônibus. A finalidade desta etapa é apenas concluir o conjunto de dados de exemplo para dar suporte a este cenário de tutorial. Instâncias de entidade conectáveis de fontes de dados separadas devem conter uma coluna comum que o digital twin builder pode usar para ligá-las, então esta etapa adiciona um conjunto simulado de valores int que corresponde ao campoStop_Codeno conjunto de dados de paradas de ônibus estáticas. No mundo real, os conjuntos de dados relacionados já contêm algum tipo de commonalidade. - Cria uma tabela nova chamada bus_data_processed que contém os dados de barramento transformados.
- Habilita a disponibilidade do OneLake para a nova tabela, permitindo usar um atalho para acessar os dados no TutorialLH lakehouse.
Para executar as consultas de transformação, siga estas etapas.
Abra o editor de consultas KQL selecionando Tutorial_queryset em seu banco de dados KQL.
Copie e cole os snippets de código a seguir no editor de consultas (você pode substituir as consultas de exemplo ou adicioná-las na parte inferior). Execute cada bloco de código em ordem.
// Set columns .create-or-alter function extractBusData () { bus_data_raw | extend BusState = tostring(todynamic(Properties).BusState) , TimeToNextStation = tostring(todynamic(Properties).TimeToNextStation) , StopCode = toint(10000 + abs(((toint(BusLine) * 100) + toint(StationNumber)) % 750)) | project-away Properties }// Create table .create table bus_data_processed (ActualTime:datetime, TripId:string, BusLine:long, StationNumber:long, ScheduleTime:datetime, BusState:string, TimeToNextStation:string, StopCode:int)//Load data into table .alter table bus_data_processed policy update ``` [{ "IsEnabled": true, "Source": "bus_data_raw", "Query": "extractBusData", "IsTransactional": false, "PropagateIngestionProperties": true }] ```// Enable OneLake availability .alter-merge table bus_data_processed policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5)Dica
Você também pode habilitar a disponibilidade do OneLake para a nova tabela por meio da interface do usuário em vez de usar o código. Selecione a tabela e alterne a disponibilidade do OneLake.
Com a opção de interface do usuário, a latência padrão é de 15 minutos a várias horas, dependendo do volume de dados. Para reduzir a latência para cinco minutos, use o comando .alter-merge table , conforme mostrado no bloco de código anterior.
Opcionalmente, renomeie a guia de consulta para Bus Data Processing para que você possa identificá-la mais tarde.
Depois de executar as consultas, uma nova tabela é criada em seu banco de dados chamada bus_data_processed. Depois de uma breve espera, ele começa a preencher com os dados de ônibus processados.
Criar atalho do lakehouse
Por fim, crie um atalho que expõe os dados de barramento processados no TutorialLH lakehouse, que contém dados de exemplo para o digital twin builder (preview). Essa etapa é necessária porque o construtor de gêmeos digitais exige que sua fonte de dados seja um "lakehouse" (um tipo de armazenamento de dados híbrido).
Acesse seu TutorialLH lakehouse (você o criou anteriormente na primeira parte, carregar dados contextuais). Na faixa de opções do menu, selecione Obter dados>Nova atalho.
Em Fontes internas, selecione Microsoft OneLake. Em seguida, escolha o banco de dados Tutorial KQL.
Expanda a lista de Tabelas e marque a caixa ao lado de bus_data_processed. Selecione Próximo.
Examine os detalhes do atalho e selecione Criar.
A tabela bus_data_processed agora está disponível em sua casa do lago. Verifique se ele contém dados (isso pode levar alguns minutos).
Em seguida, use esses dados do Lakehouse como fonte para criar uma ontologia no construtor de gêmeos digitais.