Construtor de Transformação
Construa transformações personalizadas visualmente, visualize resultados, valide fluxos de trabalho e exporte-os para execução.
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.com.
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:

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.
Os dados no grafo devem fluir em apenas uma direção. Ciclos não são permitidos. Se o Builder detectar um ciclo, ele retornará um erro de validação.
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_datapara telemática e dados de sensores de dispositivosraw_business_datapara 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.

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.
Dados brutos: Telemática
Este nó carrega dados de séries temporais do raw_telematics_data schema.
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.
Dados brutos: Negócios
Este nó carrega dados de referência do raw_business_data schema. Tabelas típicas incluem objects, vehicles, devices, e sensor_description.
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.
SQL Transform
Combina dados de exatamente dois nós de origem usando um JOIN operaçã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.
Filtro
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).
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.
Reamostragem
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.
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.
Aritmética
Adiciona ou substitui colunas usando expressões SQL. Use este nó para criar colunas calculadas com base em dados existentes.
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.
SQL personalizado
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.
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
Saída
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.
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:
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ó.
Adicionar nós de transformação
Insira os nós de transformação que seu fluxo de trabalho requer:
SQL Transform para unir dados
Filtro para restringir resultados
Reamostragem para agregar séries temporais
Aritmética para adicionar colunas calculadas
SQL personalizado para lógica complexa.
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.
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.
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.

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)
A visualização de resultados requer uma conexão PostgreSQL ativa. Sem uma conexão, a visualização retorna um resultado vazio sem SQL executado. A visualização sempre usa dados reais do seu banco de dados, não dados fictícios.

Validação e compilação
O Builder valida seu fluxo de trabalho em dois níveis.
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.
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_dataeraw_business_data) que fornecem dados de entrada para seus fluxos de trabalho.
Atualizado
Isto foi útil?