Processar dados de evento com o editor do processador de eventos

O editor do processador de eventos é uma experiência sem código que permite arrastar e soltar para projetar a lógica de processamento de dados do evento. Esse artigo descreve como usar o editor para criar sua lógica de processamento.

Observação

Se desejar usar recursos avançados que estão em versão prévia, selecione Recursos Avançados na parte superior. Caso contrário, selecione Recursos Padrão. Para obter informações sobre recursos avançados que estão em versão prévia, consulte Introdução aos fluxos de eventos do Fabric.

Pré-requisitos

Antes de começar, você deve concluir os seguintes pré-requisitos:

  • Obtenha acesso a um workspace premium com permissões de Colaborador ou superior no local em que seu fluxo de eventos está localizado.

Importante

Atualmente, os recursos avançados dos fluxos de eventos do Fabric estão em preview.

Projetar o processamento de eventos com o editor

Para executar operações de processamento de fluxos nos fluxos de dados ao usar um editor no-code, siga estas etapas:

  1. Selecione Editar na faixa de opções se você ainda não estiver no modo de edição. Certifique-se de que o nó upstream para as operações conectadas tenha um esquema.

    Captura de tela mostrando o editor do processador de eventos no Modo de edição.

  2. Para inserir um operador de processamento de eventos entre o nó de fluxos e o destino no modo de edição, é possível usar um dos dois métodos apresentados a seguir:

    • Insira o operador diretamente da linha de conexão. Passe o mouse sobre a linha de conexão e, em seguida, selecione o botão +. Um menu suspenso será exibido na linha de conexão, e você poderá selecionar um operador nele.

      Captura de tela mostrando a seleção do botão + na linha de conexão.

    • Insira o operador por meio do menu de faixa de opções ou da tela.

      1. É possível selecionar um operador no menu Eventos de transformação na faixa de opções.

        Captura de tela mostrando a seleção Gerenciar campos na faixa de opções.

        Como alternativa, é possível 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 será exibido ao lado desse nó, e você poderá selecionar um operador nele.

        Captura de tela mostrando a seleção do link com o sinal de adição na linha de conexão.

      2. Após inserir o operador, é necessário reconectar esses nós. Passe o mouse sobre a extremidade esquerda do nó de fluxos e, em seguida, selecione e arraste o círculo verde para efetuar a conexão dele com o 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 mostrando como efetuar a conexão com o bloco Gerenciar campos.

  3. Selecione o nó do operador Gerenciar campos . No painel de configuração Gerenciar campos, selecione os campos que deseja gerar. Se você quiser adicionar todos os campos, selecione Adicionar todos os campos. Você também pode adicionar outro campo com as funções internas para agregar dados de upstream. (No momento, as funções internas que oferecemos suporte são algumas funções em Funções de Cadeia de Caracteres, Funções de Data e Hora e Funções Matemáticas. Para encontrá-las, pesquise em built-in.)

    Captura de tela mostrando como configurar o bloco Gerenciar campos.

  4. Após configurar o operador Gerenciar campos, selecione Renovar para validar o resultado do teste produzido por esse operador.

    Captura de tela mostrando a página renovada.

  5. Se você tiver algum erro de configuração, ele aparecerá na guia Erros de criação no painel inferior.

    Captura de tela mostrando a guia 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 à Exibição ao vivo.

    Captura de tela mostrando o botão Publicar na faixa de opções selecionada.

  7. Após concluir essas etapas, você poderá visualizar como seu Eventstream inicia o streaming e o processamento de dados na Exibição ao vivo.

    Captura de tela mostrando a Exibição ao vivo.

Editor de processamento de eventos

O editor do processador de eventos (a tela no Modo de edição) permite a transformação de dados em diversos destinos. Entre no Modo de edição para projetar operações de processamento de fluxos para os fluxos de dados.

Captura de tela mostrando o Editor de processamento de eventos para um Eventstream com recursos avançados.

O Modo de edição inclui uma tela e um painel inferior nos quais você pode:

  • Criar a lógica de transformação de dados de evento com a experiência de arrastar e soltar.
  • Obter uma preview do 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

Captura de tela mostrando o layout do Editor de processamento de eventos para um Eventstream com recursos avançados.

  • Menu da Faixa de Opções e Tela (numerado como um na imagem): neste painel, é possível projetar sua lógica de transformação de dados ao selecionar um operador (no menu Eventos de transformação) e efetuar a conexão entre os fluxos e os nós de destino por meio do nó do operador recém-criado. Você pode arrastar e soltar linhas de conexão ou selecionar e excluir conexões.
  • Painel de edição direito (numerado como dois na imagem): este painel permite configurar o nó selecionado ou realizar a exibição do nome do fluxo.
  • Painel inferior com guias de preview de dados e erros de criação (numerado como três na imagem): neste painel, realize a preview do resultado do teste em um nó selecionado com 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

Veja a seguir os tipos de destino que oferecem suporte para a adição de operadores antes da ingestão:

  • Lakehouse
  • Banco de Dados KQL (processamento de eventos antes da ingestão)
  • Fluxo derivado

Observação

Em destinos que não oferecem suporte para a adição de operador de ingestão prévia, primeiro, é possível adicionar um fluxo derivado como saída do seu operador. Em seguida, acrescente o destino pretendido a esse fluxo derivado.

Captura de tela mostrando o layout do Editor de processamento de eventos com saída de filtro para um destino não compatível.

O processador de eventos no Lakehouse e no banco de dados KQL (processamento de eventos antes da ingestão) permite que você processe seus dados antes de serem ingeridos em seu destino.

Pré-requisitos

Antes de começar, você deve concluir os seguintes pré-requisitos:

  • Obtenha acesso a um workspace premium com permissões de Colaborador ou superior no local em que seu fluxo de eventos está localizado.
  • Obtenha acesso a um workspace premium com permissões de Colaborador ou superior no local em que seu lakehouse ou banco de dados KQL está localizado.

Projetar o processamento de eventos com o editor

Para projetar o processamento de eventos com o editor do processador de eventos:

  1. Adicione um destino de Lakehouse e insira os parâmetros necessários no painel direito. (Consulte Adicionar e gerenciar um destino em um fluxo de eventos para obter instruções detalhadas. )

  2. Selecione Abrir processador de eventos. A tela Editor de processamento de eventos é exibida.

    Captura de tela mostrando onde selecionar Abrir processador de eventos na tela de configuração do destino de Lakehouse.

  3. Na tela Editor de processamento de eventos, selecione o nó eventstream. Você pode visualizar o esquema de dados ou alterar o tipo de dados no painel Fluxo de eventos à direita.

    Captura de tela mostrando o esquema de dados no painel direito da tela do editor de processador de eventos.

  4. Para inserir um operador de processamento de eventos entre esse fluxo de eventos e o destino no editor do processador de eventos, use um dos dois seguintes métodos:

    1. 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 será exibido na linha de conexão, e você poderá selecionar um operador nele.

      Captura de tela mostrando onde passar o mouse na linha de conexão para inserir um nó.

    2. Insira o operador por meio do menu de faixa de opções ou da tela.

      1. Selecione um operador no menu Operações na faixa de opções. Como alternativa, é possível 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 será exibido ao lado desse nó, e você poderá selecionar um operador nele.

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

        Captura de tela mostrando onde passar o mouse nos nós para inserir um nó.

      2. Por fim, você precisa reconectar esses nós. Passe o mouse na borda esquerda do nó de fluxo de dados, selecione 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ó do lakehouse.

        Captura de tela mostrando onde conectar os nós.

  5. Selecione o nó do operador Gerenciar campos . No painel de configuração Gerenciar campos, selecione os campos que deseja gerar. Se você quiser adicionar todos os campos, selecione Adicionar todos os campos. Você também pode adicionar outro campo com as funções internas para agregar dados de upstream. (Atualmente, as funções internas a que damos suporte são algumas funções nas Funções de Cadeia de Caracteres, nas Funções de Data e Hora e nas Funções Matemáticas. Para encontrá-las, busque-o em “internas.”)

    Captura de tela mostrando como configurar o operador.

  6. Após configurar o operador Gerenciar campos, selecione Renovar preview estática para realizar uma preview dos dados que esse operador produz.

    Captura de tela mostrando como visualizar os dados no editor do processador de eventos.

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

    Captura de tela mostrando como visualizar os dados no editor do processador de eventos.

  8. Se os dados visualizados parecerem corretos, selecione Concluído para salvar a lógica de processamento de eventos e retornar à tela de configuração de destino de Lakehouse.

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

Editor do processador de eventos

O processador de eventos permite transformar os dados que você está ingerindo em um destino de lakehouse. Ao configurar o destino de lakehouse, você encontra a opção Abrir processador de eventos no meio da tela de configuração de destino do Lakehouse .

Captura de tela mostrando onde abrir o editor do processador de eventos.

Selecionar Abrir processador de eventos inicia a tela Editor de processamento de eventos, na qual você pode definir sua lógica de transformação de dados.

O editor do processador de eventos inclui uma tela e um painel inferior onde você pode:

  • Criar a lógica de transformação de dados de evento com a experiência de arrastar e soltar.
  • 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 da tela é como o editor principal. Ele consiste em três seções, mostradas na imagem a seguir:

Captura de tela mostrando a tela Editor de processador de eventos, indicando três seções principais.

  1. Tela com exibição de diagrama: nesse painel, você pode projetar sua lógica de transformação de dados selecionando um operador (no menu Operações ) e conectando o fluxo de eventos e os nós de destino por meio do nó do operador recém-criado. Você pode arrastar e soltar linhas de conexão ou selecionar e excluir conexões.

  2. Painel de edição à direita: Esse painel permite que você configure o nó de operação selecionado ou exibir o esquema do fluxo de eventos e do destino.

  3. Painel inferior com visualização de dados e guias de erro de criação: nesse painel, visualize os dados em um nó selecionado com 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 referem-se aos erros que ocorrem no Editor do processador de eventos devido à configuração incompleta ou incorreta dos nós de operação, ajudando você a encontrar e corrigir possíveis problemas no processador de eventos.

Você pode exibir Erros de criação no painel inferior do Editor do processador de eventos. O painel inferior lista todos os erros de criação, cada um com quatro colunas:

  • ID do nó: indica a ID do nó da operação onde ocorreu o erro de criação.
  • Tipo do nó: indica o tipo do nó da operação onde ocorreu o erro de criação.
  • Nível: indica a gravidade do erro de Criação, existem dois níveis, Fatal e Informação. Um erro de criação de nível Fatal significa que o processador de eventos tem problemas sérios e não pode ser salvo ou executado. Um erro de criação de nível Informações significa que o processador de eventos tem algumas dicas ou sugestões que podem ajudar a otimizar ou melhorar o processador de eventos.
  • Erro: indica as informações específicas do erro de criação, descrevendo brevemente a causa e o impacto do erro de criação. Você pode selecionar a guia Mostrar detalhes para ver os detalhes.

Como o Eventstream e o Banco de Dados KQL oferecem suporte para diferentes tipos de dados, o processo de conversão do tipo de dados pode gerar erros de criação.

A tabela a seguir mostra os resultados da conversão de tipo de dados do Eventstream para o Banco de Dados KQL. As colunas representam os tipos de dados com suporte pelo Eventstream e as linhas representam os tipos de dados suportados pelo Banco de Dados KQL. As células indicam os resultados da conversão, que podem ser um dos três seguintes:

✔️ Indica uma conversão bem-sucedida e erros ou avisos não são gerados.

❌ Indica conversão impossível, erro de criação fatal é gerado. 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 conversão possível, mas imprecisa, erro de criação de informações é gerado. 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. Ele é convertido automaticamente para “{2}”.

string bool datetime dinâmico guid INT long real TimeSpan decimal
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
Double ✔️ ⚠️ ⚠️
Cadeia de caracteres ✔️ ✔️
Datetime ⚠️ ✔️ ✔️
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 seu processador de eventos.

Algumas conversões de tipo de dados são impossíveis, como int em sequência. Essas conversões geram erros fatais de criação de nível, fazendo com que o processador de eventos não consiga salvar. Você precisa alterar seu tipo de dados no Eventstream ou na tabela KQL para evitar esses erros.

Algumas conversões de tipo de dados são possíveis, mas não precisas, como int em real. Essas conversões geram erros de criação no nível de informações, indicando a incompatibilidade entre tipos de dados e resultados de 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 seu tipo de dados no Eventstream ou na tabela KQL para otimizar o processador de eventos.

Operadores de transformação

O processador de eventos fornece seis operadores, que você pode usar para transformar seus dados de evento de acordo com suas necessidades de negócios.

Captura de tela mostrando os operadores disponíveis no menu 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 renomear as colunas calculadas, além de filtrar ou dividir a agregação com base em outras dimensões nos dados. Você pode ter uma ou mais agregações na mesma transformação.

Expandir

Use a transformação Expandir matriz a fim de criar outra linha para cada valor em uma matriz.

Filter

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 que permite renomear 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
  • Variance

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

Captura de tela mostrando o Grupo por operador disponível no editor do processador de eventos.

Gerenciar campos

A transformação Gerenciar campos permite adicionar, remover, alterar o tipo de dados ou renomear campos provenientes de uma entrada ou de outra transformação. As configurações do painel lateral oferecem a opção de adicionar um novo selecionando Adicionar campo, adicionando vários campos ou adicionando todos os campos de uma só vez.

Captura de tela mostrando o operador de gerenciamento de campo do editor disponível no processador de eventos.

Além disso, você pode adicionar um novo campo com funções internas para agregar os dados de upstream. (Atualmente, as funções internas a que damos suporte são algumas funções nas Funções de Cadeia de Caracteres, nas Funções de Data e Hora e nas Funções Matemáticas. Para encontrá-las, busque-o em “internas.”)

Captura de tela mostrando as funções internas do campo Gerenciar.

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

  • Se houver ✔️ na célula, significa que ela pode ser convertida diretamente e a opção de tipo de dados de destino será mostrada na lista suspensa.
  • Se houver ❌ na célula, significa que ela não pode ser convertida e a opção de tipo de dados de destino não será mostrada na lista suspensa.
  • Se houver ⚠ na célula, significa que ela pode ser convertida, mas precisa atender determinadas condições, como o formato da sequência deve estar em conformidade com os requisitos do tipo de dados de destino. Por exemplo, ao converter da sequência para int, a sequência precisa estar em um formato inteiro válido, como 123, em vez de abc.
Int64 Double String Datetime Record Array
Int64 ✔️ ✔️ ✔️
Double ✔️ ✔️ ✔️
Cadeia de caracteres ⚠️ ⚠️ ✔️ ⚠️
Datetime ✔️ ✔️
Registro ✔️ ✔️
Matriz ✔️ ✔️

Union

Use a transformação União para efetuar a conexão entre dois ou mais nós e adicionar eventos que compartilham campos (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.

Join

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 tabela esquerda (primeiro) e somente os registros do segundo que correspondam ao par de campos. Se não houver correspondência, os campos da segunda entrada ficarão em branco.