Construtor de Transformação

Construa transformações personalizadas visualmente, visualize resultados, valide fluxos de trabalho e exporte-os para execução.

circle-info

Em breve!

O Transformation Builder está atualmente em desenvolvimento. A descrição do recurso nesta página reflete a funcionalidade planejada. Detalhes de implementação podem evoluir antes do lançamento final. Se desejar acesso antecipado ou tiver perguntas, entre em contato com iotquery@navixy.comenvelope.

O que é o Transformation Builder

Transformation Builder é uma ferramenta visual para projetar fluxos de transformação de dados sem a necessidade de desenvolver e manter pipelines de dados complexos. Você monta a lógica de processamento como um grafo onde cada etapa é representada por um bloco separado (nó), e a ferramenta compila seu grafo em SQL executável.

O Transformation Builder foi projetado para analistas, especialistas em BI e qualquer pessoa com conhecimentos básicos de SQL que queira controlar a lógica de preparação de dados de forma independente. Ele ajuda a responder às principais perguntas da preparação de dados: de onde vêm os dados, como são unidos, quais filtros e transformações são aplicados, como séries temporais são agregadas e em que formato os dados devem aparecer na Camada de Transformation.

O Transformation Builder não é um orquestrador ETL completo nem uma plataforma de dados. É um designer de fluxo de trabalho focado que gera configuração e SQL para execução em runtime externo.

Como funciona

Um fluxo de trabalho no Transformation Builder é um grafo dirigido de nós dispostos das fontes de dados até a saída:

workflow graph example showing sources, transformations, and output
Dados brutos → Nós de transformação → Saída

Cada nó corresponde a uma etapa lógica de processamento. Você pode combinar várias fontes em um nó de transformação e o resultado de um nó pode alimentar vários nós a jusante. O grafo fornece uma representação visual clara de todo o caminho dos dados desde as tabelas de origem até a entidade analítica de destino.

O Builder compila seu grafo em uma única consulta SQL usando Common Table Expressions (CTEs). Cada nó torna-se uma CTE na consulta final. Essa abordagem de compilação significa que o Builder não grava dados diretamente no banco de dados. Em vez disso, ele gera configuração que executa o processamento real de dados com base em um agendamento.

circle-exclamation

Conectando-se ao banco de dados

Antes de começar a construir um fluxo de trabalho, você precisa se conectar ao seu banco de dados PostgreSQL. Sem uma conexão ativa, a visualização de dados e a descoberta de tabelas não estarão disponíveis.

O painel de conexão permite especificar sua URL de Conexão, conectar ou desconectar e ver o número de tabelas encontradas em cada categoria. O Builder utiliza dois schemas em seu banco de dados:

  • raw_telematics_data para telemática e dados de sensores de dispositivos

  • raw_business_data para dados de referência de negócios (veículos, funcionários, geofences e entidades similares)

Uma vez conectado, o Builder descobre automaticamente as tabelas e colunas disponíveis, que você pode então selecionar ao configurar os nós de fonte de dados.

connection panel showing URL input and discovered table counts

Nós de fonte de dados

Nós de fonte de dados definem de onde seu fluxo de trabalho lê os dados. Cada nó de fonte corresponde a uma tabela na camada de Dados brutos.

chevron-rightDados brutos: Telemáticahashtag

Este nó carrega dados de séries temporais do raw_telematics_data schema.

Parâmetro
Descrição

Nome da tabela

Selecione da lista de tabelas descobertas quando você se conectou ao banco de dados.

Coluna de tempo

A coluna de timestamp usada para ordenação e filtros baseados em tempo. O padrão é device_time.

Colunas

Lista de colunas específicas para incluir, ou * para selecionar todas as colunas.

Condição de filtro

SQL opcional WHERE condição aplicada diretamente à consulta de origem.

Janela de tempo (minutos)

Limite de tempo opcional (em minutos) para restringir a janela de dados no SQL. Deixe em branco para sem limite.

Cada nó Dados brutos: Telemática lê exatamente de uma tabela. Para usar dados de várias tabelas, adicione um nó separado para cada tabela.

chevron-rightDados brutos: Negócioshashtag

Este nó carrega dados de referência do raw_business_data schema. Tabelas típicas incluem objects, vehicles, devices, e sensor_description.

Parâmetro
Descrição

Nome da tabela

Selecione da lista de tabelas de negócios descobertas.

Coluna-chave

A coluna-chave para esta tabela (por exemplo, object_id ou sensor_id).

Colunas

Lista de colunas específicas para incluir, ou * para selecionar todas as colunas.

Nós Dados brutos: Negócios são usados principalmente como a segunda entrada para o nó SQL Transform, permitindo que você una dados de referência com séries temporais de telemática.

Nós de transformação

Nós de transformação definem o que acontece com seus dados depois de carregados das fontes. Cada tipo de transformação trata de um padrão de processamento específico.

chevron-rightSQL Transformhashtag

Combina dados de exatamente dois nós de origem usando um JOIN operação.

Parâmetro
Descrição

Tipo de join

O tipo de junção: INNER, LEFT, RIGHT, ou FULL (full outer join).

Condição de join

A condição para combinar linhas entre as duas entradas (por exemplo, casando por device_id).

Selecionar colunas

Lista de colunas para incluir na saída. Suporta notação de prefixo como source.* para selecionar todas as colunas de uma entrada específica.

O SQL Transform requer exatamente duas entradas. As entradas podem ser qualquer combinação de nós de fonte de dados ou saídas de outros nós de transformação.

chevron-rightFiltrohashtag

Filtra dados por intervalo de tempo e condições personalizadas. Todas as condições são executadas no banco de dados como parte da WHERE cláusula (filtragem por pushdown).

Parâmetro
Descrição

Coluna de tempo

A coluna de timestamp a ser usada para filtragem por tempo. O padrão é device_time.

Início / fim do intervalo de tempo

Limites de início e fim para o filtro de tempo.

Condições dinâmicas

Uma lista de condições SQL combinadas com AND. Use-as para filtragem adicional além do intervalo de tempo.

chevron-rightReamostragemhashtag

Agrega dados de séries temporais em intervalos de tempo fixos. Isso é útil para converter pontos de dados de alta frequência em estatísticas resumidas ao longo de períodos regulares.

Parâmetro
Descrição

Coluna de tempo

A coluna de timestamp a ser usada para agrupamento por intervalo. O padrão é device_time.

Intervalo

O intervalo de agregação: 1min, 5min, 15min, 1hour, ou 1day.

Agrupar por

Colunas adicionais para agrupar (além do intervalo de tempo).

Agregações

Uma lista de pares coluna-método que definem como cada coluna é agregada. Métodos disponíveis: avg, sum, min, max, first, last, count.

chevron-rightAritméticahashtag

Adiciona ou substitui colunas usando expressões SQL. Use este nó para criar colunas calculadas com base em dados existentes.

Parâmetro
Descrição

Expressões

Uma lista de definições de expressão. Cada entrada inclui uma coluna de origem opcional, uma expressão SQL e um alias de saída obrigatório.

Por exemplo, para converter um valor de velocidade, você poderia definir a coluna de origem como speed, a expressão para speed * 1.2, e o alias para speed_adjusted. O alias é obrigatório para cada expressão.

chevron-rightSQL personalizadohashtag

Fornece uma entrada SQL livre para lógica complexa que os outros tipos de nó não conseguem expressar. Use isto quando precisar de controle total sobre a consulta.

Parâmetro
Descrição

SQL personalizado

Uma SELECT consulta onde os nós a montante são acessíveis por seus aliases de CTE.

Os aliases dos nós de origem seguem o padrão a_<node_id> (por exemplo, a_node_1, a_filter_1). Identificadores de nó são sanitizados para identificadores SQL válidos, com espaços e caracteres especiais substituídos por underscores.

Nós SQL personalizados aceitam uma ou duas entradas. Sua consulta pode referenciar as CTEs correspondentes pelos seus aliases.

Configuração de saída

chevron-rightSaídahashtag

O Saída nó define como os resultados da sua transformação devem ser gravados na Camada de Transformation. Ele especifica os metadados da tabela alvo que o runtime externo usa para armazenar os dados processados.

Parâmetro
Descrição

Nome da tabela

O nome da tabela de destino na processed_custom_data schema.

Coluna de tempo

A coluna de timestamp nos dados de saída (por exemplo, device_time).

Particionar por

Uma expressão de particionamento para organizar os dados armazenados (por exemplo, DATE(device_time)).

Chave primária

Uma lista de colunas que identificam exclusivamente cada linha (por exemplo, [device_id, device_time]).

Modo de gravação

Como os dados são gravados na tabela de destino: append (adicionar novas linhas), overwrite (substituir os dados existentes), ou upsert (atualizar linhas existentes, inserir novas).

Construindo um fluxo de trabalho

Um fluxo de trabalho típico segue estes passos:

1

Abrir o Transformation Builder

Inicie a interface do Transformation Builder.

2

Conectar ao seu banco de dados

Insira sua URL de conexão do PostgreSQL e estabeleça a conexão. O Builder descobre automaticamente as tabelas e colunas disponíveis.

3

Adicionar nós de fonte de dados

Adicione um Dados brutos: Telemática nó e selecione a tabela e colunas com as quais você deseja trabalhar. Se precisar de dados de referência (por exemplo, detalhes do veículo ou descrições de sensores), adicione também um Dados brutos: Negócios nó.

4

Adicionar nós de transformação

Insira os nós de transformação que seu fluxo de trabalho requer:

5

Configurar o nó de Saída

Adicione um Saída nó e defina o nome da tabela de destino, as colunas da chave primária e o modo de gravação para sua entidade analítica.

6

Conectar nós

Desenhe arestas entre os nós para definir o fluxo de dados. Conecte nós de fonte a nós de transformação e nós de transformação ao nó de Saída. Os dados fluem da esquerda para a direita, das fontes para a saída.

7

Revisar e corrigir erros

Verifique dicas de validação para quaisquer problemas de configuração. Corrija erros nos parâmetros dos nós ou na estrutura do grafo conforme necessário.

8

Visualizar resultados

Clique em Executar para executar uma pré-visualização do seu fluxo de trabalho. O Builder compila o grafo em SQL e o executa contra seu banco de dados, retornando até 100 linhas para que você possa verificar a saída.

circle-info

Exportar

Você pode exportar seu fluxo de trabalho concluído como um arquivo YAML para execução em runtime ou compartilhamento com colegas. Veja Referência do Workflow YAML para detalhes do formato.

9

Agendar execução

Clique em Agendar para abrir o diálogo de configuração, onde você pode determinar o horário exato e a frequência da execução do fluxo de trabalho. No horário definido, uma função no banco de dados acionará o fluxo de trabalho e salvará seu resultado na Camada de Transformation.

completed workflow graph with all node types connected
Exemplo completo de fluxo de transformação

Visualização de resultados

Após clicar em Executar na barra de ferramentas, o Builder compila o grafo do seu fluxo de trabalho em uma única consulta SQL com CTEs e a executa contra o banco de dados PostgreSQL conectado. Os resultados aparecem no painel inferior.

Em execução bem-sucedida, o painel exibe:

  • Uma tabela de resultados exibindo até 100 linhas de dados de saída

  • A consulta SQL executada (a consulta CTE completa gerada pelo compilador)

  • Contagem de linhas, contagem de colunas e tempo de execução

  • Opção de exportar o resultado para CSV

Em erro de execução, o painel exibe:

  • Uma mensagem de erro descrevendo o que deu errado

  • A consulta SQL executada (se a compilação tiver sido bem-sucedida)

  • Detalhes do erro do banco de dados (se o erro ocorreu durante a execução da consulta)

circle-exclamation
Results preview panel showing successful execution with result table and SQL
Resultado do fluxo executado

Validação e compilação

O Builder valida seu fluxo de trabalho em dois níveis.

  1. Validação do grafo verifica a estrutura geral do seu fluxo de trabalho. O grafo deve ser um grafo acíclico dirigido válido (DAG), significando que os dados fluem em uma direção sem ciclos. Se o Builder detectar um ciclo, ele retornará um erro e destacará os nós afetados.

  2. Validação de nó verifica individualmente a configuração de cada nó. O Builder confirma que os campos obrigatórios estão preenchidos, que as colunas referenciadas existem na saída do nó a montante e que os parâmetros do nó são consistentes com seu tipo (por exemplo, SQL Transform deve ter exatamente duas entradas).

Durante a compilação, o Builder converte seu grafo em uma única consulta SQL. Cada nó torna-se uma CTE com o alias a_<node_id>. Os nós são organizados em ordem topológica para que cada CTE possa referenciar as saídas de seus nós predecessores. Se a compilação falhar devido a um erro de configuração ou uma estrutura de grafo inválida, o Builder retornará os detalhes do erro juntamente com qualquer SQL parcial que tenha conseguido gerar.

Exportando

Exportação e importação YAML

Você pode exportar um fluxo de trabalho concluído como um arquivo YAML usando o Exportar botão na barra de ferramentas. O arquivo exportado contém a definição completa do fluxo de trabalho no formato versão 2, incluindo todas as configurações de nós, arestas do grafo e posições de layout.

Para carregar um fluxo de trabalho salvo anteriormente, use a Importar função e selecione um .yaml ou .yml arquivo. Para documentação completa do formato, veja a Referência do Workflow YAML.

Limitações atuais

O Transformation Builder está atualmente em seu lançamento inicial, e várias restrições se aplicam:

  • A visualização requer uma conexão PostgreSQL ativa. Sem conexão, você não pode visualizar resultados. A visualização é limitada a 100 linhas.

  • O grafo deve estar livre de ciclos. Os dados fluem em apenas uma direção, das fontes para a saída.

  • Sem motor de execução embutido. O Builder gera configuração e SQL para execução em runtime externo. Ele não processa nem armazena dados por si só.

  • Apenas processamento em lote. Processamento de dados em streaming não é suportado.

Próximos passos

  • Camada de Transformation: Aprenda como a Camada de Transformation organiza dados processados em schemas e como consultá-la.

  • Referência do Workflow YAML: Reveja a especificação completa do formato de exportação e importação YAML.

  • Camada de dados brutos: Explore os schemas de origem (raw_telematics_data e raw_business_data) que fornecem dados de entrada para seus fluxos de trabalho.

Atualizado

Isto foi útil?