Compartilhar via


Processar dados de evento usando o editor de processamento de eventos

O editor de processamento de eventos é uma experiência sem código na qual você arrasta itens para projetar a lógica de processamento de dados de eventos. Esse artigo descreve como usar o editor para criar sua lógica de processamento.

Observação

Os recursos aprimorados são habilitados por padrão quando você cria fluxos de eventos. Se você tiver fluxos de eventos criados por meio de recursos padrão, esses fluxos de eventos continuarão funcionando. Você ainda pode editá-los e usá-los como de costume. Recomendamos que você crie um novo Eventstream para substituir os Eventstreams padrão para que você possa usufruir de recursos adicionais e benefícios de Eventstreams aprimorados.

Pré-requisitos

  • Acesso a um workspace no modo de licença de capacidade do Microsoft Fabric ou no modo de licença de avaliação com colaborador ou permissões mais altas.

Projetar o processamento de eventos usando o editor

Para executar operações de processamento em seus fluxos de dados usando um editor sem código, siga estas etapas:

  1. Selecione Editar na faixa de opções se você ainda não estiver no modo Editar . Verifique se o nó upstream das operações conectadas tem um esquema.

    Captura de tela que mostra o editor de processamento de eventos no modo Editar.

  2. Para inserir um operador de processamento de eventos entre o nó de fluxo e o destino no modo Editar , você pode usar um dos dois métodos a seguir:

    • Insira o operador diretamente da linha de conexão. Passe o mouse sobre a linha de conexão e selecione o + botão. Um menu suspenso é exibido na linha de conexão e você pode selecionar um operador neste menu.

      Captura de tela que mostra a seleção do botão de adição na linha de conexão.

    • Insira o operador no menu ou tela da faixa de opções:

      1. Na faixa de opções, você pode selecionar um operador no menu Transformar eventos .

        Captura de tela que mostra a seleção de um operador Gerenciar campos na faixa de opções.

        Como alternativa, você pode passar o mouse sobre um dos nós e, em seguida, selecionar o + botão se tiver excluído a linha de conexão. Um menu suspenso é exibido ao lado desse nó, e você pode selecionar um operador nesse menu.

        Captura de tela que mostra o botão de adição na linha de conexão.

      2. Depois de inserir o operador, você precisa reconectar esses nós. Passe o mouse sobre a borda esquerda do nó de fluxo e arraste o círculo verde para conectá-lo ao nó do operador Gerenciar campos . Siga o mesmo processo para efetuar a conexão do nó do operador Gerenciar campos com o seu destino.

        Captura de tela que mostra como conectar o nó de fluxo ao nó do operador.

  3. Selecione o nó do operador Gerenciar campos . No painel Gerenciar campos de configuração, selecione os campos que você deseja usar para a saída. Se você quiser adicionar todos os campos, selecione Adicionar todos os campos.

    Você também pode adicionar um novo campo usando as funções internas para agregar os dados de upstream. Atualmente, as funções internas com suporte são funções de cadeia de caracteres, funções de data e hora e funções matemáticas. Para encontrá-los, procure por internos.

    Captura de tela que mostra como selecionar campos para saída.

  4. Depois de configurar o operador Gerenciar campos , selecione Atualizar para validar o resultado do teste que esse operador produz.

    Captura de tela que mostra uma página atualizada.

  5. Se você tiver erros de configuração, eles aparecerão na guia Erros de criação no painel inferior.

    Captura de tela que mostra a guia para erros de criação.

  6. Se o resultado do teste parecer correto, selecione Publicar para salvar a lógica de processamento de eventos e retornar ao modo de exibição ao vivo .

    Captura de tela que mostra o botão Publicar na faixa de opções.

  7. Depois de concluir as etapas anteriores, você pode visualizar como o fluxo de eventos inicia o streaming e o processamento de dados no modo de exibição ao vivo .

    Captura de tela que mostra o modo de exibição ao vivo.

Transformar dados usando o editor

Você pode usar o editor de processamento de eventos (a tela no modo Editar ) para transformar dados em vários destinos. Insira o modo Editar para projetar operações de processamento de fluxo para seus fluxos de dados.

Captura de tela que mostra o editor de processamento de eventos para um fluxo de eventos com funcionalidades aprimoradas.

O modo de edição inclui uma tela e um painel inferior onde você pode:

  • Crie a lógica de transformação para dados de evento arrastando.
  • Visualizar o resultado do teste em cada um dos nós de processamento do início ao fim.
  • Descobrir erros de criação nos nós de processamento.

Layout do Editor

O editor de processamento de eventos consiste em três seções numeradas na imagem a seguir.

Captura de tela que mostra o layout do editor de processamento de eventos para um fluxo de eventos com funcionalidades aprimoradas.

  1. No painel que contém o menu e a tela da faixa de opções, você projeta sua lógica de transformação de dados selecionando um operador (no menu Transformar eventos ) e conectando o fluxo e os nós de destino por meio do nó do operador recém-criado. Você pode arrastar linhas de conexão ou selecionar e excluir conexões.

  2. No painel de edição à direita, configure o nó selecionado ou exiba o nome do fluxo.

  3. No painel inferior, você visualiza o resultado do teste em um nó selecionado usando a guia Resultado do teste . A guia Erros de criação lista qualquer configuração incompleta ou incorreta nos nós de operação.

Tipos e exemplos de nós com suporte

Aqui estão os tipos de destino que dão suporte à adição de operadores antes da ingestão:

  • Lakehouse
  • Eventhouse (processamento de eventos antes da ingestão)
  • Fluxo derivado
  • Ativador

Observação

Para destinos que não dão suporte à adição de um operador de pré-ingestão, primeiro você pode adicionar um fluxo derivado como a saída do operador. Em seguida, acrescente o destino pretendido a esse fluxo derivado.

Captura de tela que mostra o layout do editor de processamento de eventos com um filtro que envia a saída para um destino sem suporte.

O processador de eventos em um lakehouse e um banco de dados KQL permite processar seus dados antes que eles sejam ingeridos em seu destino.

Pré-requisitos

  • Acesso a um workspace no modo de licença de capacidade do Microsoft Fabric ou no modo de licença de avaliação com colaborador ou permissões mais altas.
  • Acesso a um workspace com colaborador ou permissões superiores em que seu lakehouse ou banco de dados KQL está localizado.

Projetar o processamento de eventos usando o editor

  1. No painel direito, adicione um destino lakehouse e insira os parâmetros necessários. Para obter instruções detalhadas, consulte Adicionar e gerenciar um destino em um fluxo de eventos.

  2. Selecione Abrir processador de eventos.

    Captura de tela que mostra o botão para abrir o processador de eventos no painel para adicionar detalhes para um destino lakehouse.

  3. Na tela do editor de processamento de eventos, selecione o nó eventstream. Você pode visualizar o esquema de dados ou alterar o tipo de dados no painel Eventstream .

    Captura de tela que mostra o esquema de dados no painel direito do editor de processamento de eventos.

  4. Para inserir um operador de processamento de eventos entre esse fluxo de eventos e o destino no editor de processamento de eventos, você pode usar um dos dois métodos a seguir:

    • Insira o operador diretamente da linha de conexão. Passe o mouse sobre a linha de conexão e selecione o + botão. Um menu suspenso é exibido na linha de conexão e você pode selecionar um operador neste menu.

      Captura de tela que mostra onde passar o mouse sobre a linha de conexão para inserir um nó.

    • Insira o operador no menu ou tela da faixa de opções:

      1. Na faixa de opções, você pode selecionar um operador no menu Operações .

        Captura de tela que mostra onde selecionar um operador no menu Operações.

        Como alternativa, você pode passar o mouse sobre um dos nós e, em seguida, selecionar o + botão se tiver excluído a linha de conexão. Um menu suspenso é exibido ao lado desse nó, e você pode selecionar um operador nesse menu.

        Captura de tela que mostra onde passar o mouse sobre nós para inserir um nó.

      2. Você precisa reconectar os nós. Passe o mouse sobre a borda esquerda do nó eventstream e arraste o círculo verde para conectá-lo ao nó do operador Gerenciar campos . Siga o mesmo processo para conectar o nó do operador Gerenciar campos ao nó Lakehouse .

        Captura de tela que mostra onde conectar nós.

  5. Selecione o nó do operador Gerenciar campos . No painel Gerenciar campos de configuração, selecione os campos que você deseja usar para a saída. Se você quiser adicionar todos os campos, selecione Adicionar todos os campos.

    Você também pode adicionar um novo campo usando as funções internas para agregar os dados de upstream. Atualmente, as funções internas com suporte são funções de cadeia de caracteres, funções de data e hora e funções matemáticas. Para encontrá-los, procure por internos.

    Captura de tela que mostra como selecionar campos para configurar um operador.

  6. Depois de configurar o operador Gerenciar campos , selecione Atualizar visualização estática para visualizar os dados que esse operador produz.

    Captura de tela que mostra como visualizar dados no editor de processamento de eventos.

  7. Se você tiver erros de configuração, eles aparecerão na guia Erros de criação no painel inferior.

    Captura de tela que mostra a guia para criar erros no editor de processamento de eventos.

  8. Se os dados visualizados parecerem corretos, selecione Concluído para salvar a lógica de processamento de eventos e retorne aos detalhes de configuração do destino lakehouse.

  9. Selecione Adicionar para concluir a criação do destino do lakehouse.

Transformar dados usando o editor

Você pode usar o editor de processamento de eventos para transformar os dados que você está ingerindo em um destino lakehouse. Ao configurar o destino lakehouse, você encontra o botão Abrir processador de eventos no painel para configurar um destino lakehouse .

Captura de tela que mostra o botão para abrir o processador de eventos no painel para configurar um destino lakehouse.

Selecionar o processador de eventos Open abre o editor de processamento de eventos. O editor inclui uma tela e um painel inferior onde você pode:

  • Crie a lógica de transformação para dados de evento arrastando.
  • Visualizar os dados em cada um dos nós de processamento do início ao fim.
  • Descobrir erros de criação nos nós de processamento.

O layout do painel é como o editor principal. Ele consiste em três seções numeradas na imagem a seguir.

Captura de tela do editor de processamento de eventos, com as três seções principais numeradas.

  1. No painel que contém a tela com o modo de exibição de diagrama, você pode projetar sua lógica de transformação de dados selecionando um operador no menu Operações . Em seguida, conecte o fluxo de eventos e os nós de destino por meio do nó do operador recém-criado. Você pode arrastar linhas de conexão ou selecionar e excluir conexões.

  2. No painel de edição à direita, configure o nó de operação selecionado ou exiba o esquema do fluxo de eventos e do destino.

  3. No painel inferior, você visualiza os dados em um nó selecionado usando a guia Visualização de dados . A guia Erros de criação lista qualquer configuração incompleta ou incorreta nos nós de operação.

Erros de criação

Erros de criação são erros que ocorrem no editor de processamento de eventos devido à configuração incompleta ou incorreta dos nós de operação. Eles ajudam você a encontrar e corrigir possíveis problemas.

Cada erro de criação tem quatro colunas:

  • ID do nó: indica a ID do nó de operação em que ocorreu o erro de criação.
  • Tipo de nó: indica o tipo do nó de operação em que ocorreu o erro de criação.
  • Nível: indica a gravidade do erro de criação. Há dois níveis, Fatal e Information. Um erro de criação de nível fatal significa que o editor de processamento de eventos tem sérios problemas e não pode ser salvo ou executado. Um erro de criação em nível de informação significa que o editor de processamento de eventos tem algumas dicas ou sugestões que podem ajudá-lo a otimizar ou aprimorá-lo.
  • Erro: descreve brevemente a causa e o impacto do erro de criação. Você pode selecionar a guia Mostrar detalhes para ver os detalhes.

Como um eventstream e um eventhouse dão suporte a diferentes tipos de dados, o processo de conversão de um tipo de dados pode gerar erros de criação.

A tabela a seguir mostra os resultados da conversão de tipo de dados de um fluxo de eventos para uma casa de eventos. As colunas representam os tipos de dados aos quais o fluxo de eventos dá suporte. As linhas representam os tipos de dados compatíveis com a casa de eventos. As células indicam os resultados da conversão, que pode ser um destes três símbolos:

  • ✔️ Indica a conversão bem-sucedida sem erros ou avisos.

  • ❌ Indica que a conversão é impossível, o que gera um erro de criação em nível fatal. A mensagem de erro é semelhante a: "O tipo de dados "{1}" para a coluna "{0}" não corresponde ao tipo esperado "{2}" na tabela KQL selecionada e não pode ser convertido automaticamente."

  • ⚠️ Indica que a conversão é possível, mas imprecisa, o que gera um erro de criação no nível da informação. A mensagem de erro é semelhante a: "O tipo de dados "{1}" para a coluna "{0}" não corresponde exatamente ao tipo esperado "{2}" na tabela KQL selecionada. É automaticamente convertido em "{2}".

cadeia bool datetime dinâmico Guid INT Longo verdadeiro TimeSpan decimal
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
Duplo ✔️ ⚠️ ⚠️
Cadeia de caracteres ✔️ ✔️
Data/hora ⚠️ ✔️ ✔️
Registro ⚠️ ✔️
Matriz ⚠️ ✔️

Como podemos ver na tabela, algumas conversões de tipo de dados são bem-sucedidas, como de sequência para sequência. Essas conversões não geram erros de criação e não afetam a operação do editor de processamento de eventos.

Algumas conversões de tipo de dados são impossíveis, como inteiro em cadeia de caracteres. Essas conversões geram erros de criação em nível fatal e fazem com que o editor de processamento de eventos falhe no processo de salvamento. Para evitar esses erros, você precisa alterar o tipo de dados no fluxo de eventos ou na tabela KQL.

Algumas conversões de tipo de dados são possíveis, mas não precisas, como inteiro em real. Essas conversões geram erros de criação no nível da informação que indicam a incompatibilidade entre os tipos de dados e os resultados da conversão automática. Essas conversões podem fazer com que seus dados percam precisão ou estrutura. Você pode escolher se deseja ignorar esses erros ou modificar o tipo de dados (na tabela KQL ou eventstream) para otimizar o editor de processamento de eventos.

Transformar dados de eventos usando operadores

O editor de processamento de eventos fornece sete operadores de transformação que você pode usar para transformar seus dados de evento de acordo com suas necessidades comerciais.

Captura de tela que mostra os operadores de transformação disponíveis no menu de operações.

Agregação

Use a transformação de Agregação para calcular uma agregação (Soma, Mínimo, Máximo ou Média) sempre que um novo evento ocorre por um período de tempo. Essa operação também permite a renomeação dessas colunas calculadas, juntamente com a filtragem ou o fatiamento da agregação com base em outras dimensões em seus dados. Você pode ter uma ou mais agregações na mesma transformação.

Se você selecionar esse tipo de operador, insira as seguintes informações:

  • Nome do operador: especifique o nome da operação de agregação.
  • Adicionar função de agregação: adicione uma ou mais agregações na operação de agregação.
  • Tipo: selecione um tipo de agregação. As opções são Soma, Mínimo, Máximo e Média.
  • Campo: selecione a coluna a ser processada.
  • Nome: defina um nome para essa função de agregação.
  • Partição por: selecione uma coluna para agrupar a agregação.
  • Valores agregados no último: especifique uma janela de tempo para agregação. O padrão é 5 segundos.

Captura de tela que mostra a configuração e o resultado do teste do operador Aggregate.

Expandir

Use a transformação Expandir para criar uma nova linha para cada valor dentro de uma matriz. Você pode selecionar Criar linha para uma matriz ausente/vazia ou não criar linha para uma matriz ausente/vazia.

Captura de tela que mostra a configuração e o resultado do teste do operador Expand.

Filtro

Use a transformação de Filtro para filtrar eventos com base no valor de um campo na entrada. Dependendo do tipo de dados (número ou texto), a transformação mantém os valores que correspondem à condição selecionada, como is null ou is not null.

Agrupar por

Use a transformação de Agrupar por para calcular as agregações em todos os eventos dentro de uma determinada janela de tempo. Você pode agrupar pelos valores em um ou mais campos. É como a transformação Agregação , pois permite a renomeação de colunas, mas fornece mais opções para agregação e inclui opções mais complexas para janelas de tempo. Semelhante à Agregação, você pode adicionar mais de uma agregação por transformação.

As agregações disponíveis na transformação são:

  • Média
  • Contagem
  • Máximo
  • Mínimo
  • Percentil (contínuo e discreto)
  • Desvio padrão
  • Somar
  • Variação

Em cenários de streaming em tempo real, executar operações nos dados contidos nas janelas temporais é um padrão comum. O editor de processamento de eventos dá suporte a funções de janela, que são integradas ao operador Grupo por . Você pode defini-las nas configurações desse operador.

Captura de tela que mostra o operador Agrupar por disponível no editor de processamento de eventos.

Gerenciar campos

Use a transformação Gerenciar campos para adicionar, remover, alterar o tipo de dados ou renomear campos provenientes de uma entrada ou outra transformação. O painel para as configurações dessa transformação oferece a opção de adicionar um novo campo (selecionando Adicionar campo), adicionar vários campos ou adicionar todos os campos ao mesmo tempo.

Captura de tela que mostra o operador Gerenciar campos disponível no editor de processamento de eventos.

Você também pode adicionar um novo campo usando as funções internas para agregar os dados de upstream. Atualmente, as funções internas com suporte são funções de cadeia de caracteres, funções de data e hora e funções matemáticas. Para encontrá-los, procure por internos.

Captura de tela que mostra as funções internas do operador Gerenciar campo.

A tabela a seguir mostra os resultados da alteração do tipo de dados usando Gerenciar campos. As colunas representam tipos de dados originais e as linhas representam tipos de dados de destino. Na tabela:

  • ✔️ Significa que o tipo de dados pode ser convertido diretamente. A opção para o tipo de dados de destino aparece na lista suspensa.
  • ❌ Significa que o tipo de dados não pode ser convertido. A opção para o tipo de dados de destino não aparece na lista suspensa.
  • ⚠️ Significa que o tipo de dados pode ser convertido, mas precisa atender a determinadas condições. Uma condição pode ser que o formato de cadeia de caracteres esteja em conformidade com os requisitos do tipo de dados de destino. Por exemplo, quando você está convertendo de uma cadeia de caracteres em um inteiro, a cadeia de caracteres precisa ser um formulário inteiro válido, como 123 (não abc).
Int64 Duplo fio Data e hora Registro Matriz
Int64 ✔️ ✔️ ✔️
Duplo ✔️ ✔️ ✔️
Cadeia de caracteres ⚠️ ⚠️ ✔️ ⚠️
Data/hora ✔️ ✔️
Registro ✔️ ✔️
Matriz ✔️ ✔️

União

Use a transformação União para conectar dois ou mais nós e adicionar eventos que tenham campos compartilhados (com o mesmo nome e tipo de dados) em uma tabela. Os campos que não correspondem serão removidos e não incluídos na saída.

Participar

Use a transformação de Junção para combinar eventos de duas entradas com base nos pares de campos que você selecionou. Se você não selecionar um par de campos, a junção será baseada no tempo por padrão. O padrão é o que torna essa transformação diferente da de um lote.

Como com as junções regulares, você tem opções para a lógica de junção:

  • Junção interna: inclua somente registros de ambas as tabelas nas quais o par corresponde.
  • Junção externa esquerda: inclua todos os registros da primeira (esquerda) tabela e apenas os registros da segunda tabela que correspondem ao par de campos. Se não houver correspondência, os campos da segunda entrada ficarão em branco.