Constructor de transformaciones
Construya transformaciones personalizadas de forma visual, previsualice resultados, valide flujos de trabajo y expórtelos para su ejecución.
Próximamente.
Transformation Builder está actualmente en desarrollo. La descripción de la función en esta página refleja la funcionalidad planificada. Los detalles de implementación pueden evolucionar antes del lanzamiento final. Si está interesado en acceso anticipado o tiene preguntas, contacte a iotquery@navixy.com.
Qué es Transformation Builder
Transformation Builder es una herramienta visual para diseñar flujos de trabajo de transformación de datos sin necesidad de desarrollar y mantener canalizaciones de datos complejas. Usted ensambla la lógica de procesamiento como un grafo donde cada paso está representado por un bloque separado (nodo), y la herramienta compila su grafo en SQL ejecutable.
Transformation Builder está diseñado para analistas, especialistas en BI y cualquier persona con conocimientos básicos de SQL que desee controlar la lógica de preparación de datos de forma independiente. Le ayuda a responder las preguntas clave de la preparación de datos: de dónde provienen los datos, cómo se unen, qué filtros y transformaciones se aplican, cómo se agregan las series temporales y en qué forma deben aparecer los datos en la Capa de transformación.
Transformation Builder no es un orquestador ETL completo ni una plataforma de datos. Es un diseñador de flujos de trabajo enfocado que genera configuración y SQL para ejecución en tiempo de ejecución externa.
Cómo funciona
Un flujo de trabajo en Transformation Builder es un grafo dirigido de nodos ordenados desde las fuentes de datos hasta la salida:

Cada nodo corresponde a un paso lógico de procesamiento. Puede combinar múltiples fuentes en un nodo de transformación, y el resultado de un nodo puede alimentar varios nodos downstream. El grafo le ofrece una representación visual clara de toda la ruta de los datos desde las tablas de origen hasta la entidad analítica objetivo.
El Builder compila su grafo en una única consulta SQL usando Expresiones de Tabla Común (CTE). Cada nodo se convierte en una CTE en la consulta final. Este enfoque de compilación significa que el Builder no escribe datos directamente en la base de datos. En su lugar, genera configuración que ejecuta el procesamiento real de datos según un cronograma.
Los datos en el grafo deben fluir en una sola dirección. No se permiten ciclos. Si el Builder detecta un ciclo, devuelve un error de validación.
Conexión a la base de datos
Antes de comenzar a construir un flujo de trabajo, necesita conectarse a su base de datos PostgreSQL. Sin una conexión activa, la vista previa de datos y el descubrimiento de tablas no están disponibles.
El panel de conexión le permite especificar su URL de conexión, conectarse o desconectarse, y ver el número de tablas encontradas en cada categoría. El Builder utiliza dos esquemas en su base de datos:
raw_telematics_datapara telemática y datos de sensores de dispositivosraw_business_datapara datos de referencia empresarial (vehículos, empleados, geocercas y entidades similares)
Una vez conectado, el Builder descubre automáticamente las tablas y columnas disponibles, que luego puede seleccionar al configurar nodos de origen de datos.

Nodos de origen de datos
Los nodos de origen de datos definen de dónde lee su flujo de trabajo. Cada nodo de origen corresponde a una tabla en la capa de Datos sin procesar.
Datos sin procesar: Telemática
Este nodo carga datos de series temporales desde el raw_telematics_data esquema.
Nombre de tabla
Seleccione de la lista de tablas descubiertas cuando se conectó a la base de datos.
Columna de tiempo
La columna de marca temporal utilizada para ordenar y filtros basados en tiempo. Por defecto device_time.
Columnas
Lista de columnas específicas para incluir, o * para seleccionar todas las columnas.
Condición de filtro
SQL opcional WHERE condición aplicada directamente a la consulta de origen.
Ventana de tiempo en minutos
Límite de tiempo opcional (en minutos) para restringir la ventana de datos en SQL. Dejar vacío para sin límite.
Cada nodo Datos sin procesar: Telemática lee exactamente de una tabla. Para usar datos de múltiples tablas, agregue un nodo separado para cada tabla.
Datos sin procesar: Empresarial
Este nodo carga datos de referencia desde el raw_business_data esquema. Las tablas típicas incluyen objects, vehicles, devicesy sensor_description.
Nombre de tabla
Seleccione de la lista de tablas empresariales descubiertas.
Columna clave
La columna clave para esta tabla (por ejemplo, object_id o sensor_id).
Columnas
Lista de columnas específicas para incluir, o * para seleccionar todas las columnas.
Los nodos Datos sin procesar: Empresarial se usan principalmente como la segunda entrada para el nodo SQL Transform, lo que le permite unir datos de referencia con series temporales de telemática.
Nodos de transformación
Los nodos de transformación definen qué sucede con sus datos después de cargarlos desde las fuentes. Cada tipo de transformación maneja un patrón de procesamiento específico.
SQL Transform
Combina datos de exactamente dos nodos de origen usando una JOIN operación SQL.
Tipo de join
El tipo de unión: INNER, LEFT, RIGHTo FULL (unión externa completa).
Condición de join
La condición para emparejar filas entre las dos entradas (por ejemplo, coincidir en device_id).
Seleccionar columnas
Lista de columnas para incluir en la salida. Admite notación de prefijo como source.* para seleccionar todas las columnas de una entrada específica.
SQL Transform requiere exactamente dos entradas. Las entradas pueden ser cualquier combinación de nodos de origen de datos o salidas de otros nodos de transformación.
Filtro
Filtra datos por rango de tiempo y condiciones personalizadas. Todas las condiciones se ejecutan en la base de datos como parte de la cláusula WHERE (filtrado pushdown).
Columna de tiempo
La columna de marca temporal a usar para el filtrado por tiempo. Por defecto device_time.
Inicio / fin del rango de tiempo
Límites de inicio y fin para el filtro de tiempo.
Condiciones dinámicas
Una lista de condiciones SQL combinadas con AND. Úselas para filtrado adicional más allá del rango de tiempo.
Re-muestreo
Agrega datos de series temporales en intervalos de tiempo fijos. Esto es útil para convertir puntos de datos de alta frecuencia en estadísticas resumidas durante periodos regulares.
Columna de tiempo
La columna de marca temporal a usar para el agrupamiento por intervalo. Por defecto device_time.
Intervalo
El intervalo de agregación: 1min, 5min, 15min, 1houro 1day.
Agrupar por
Columnas adicionales por las cuales agrupar (además del intervalo de tiempo).
Agregaciones
Una lista de pares columna-método que definen cómo se agrega cada columna. Métodos disponibles: avg, sum, min, max, first, last, count.
Aritmética
Agrega o reemplaza columnas usando expresiones SQL. Use este nodo para crear columnas calculadas basadas en datos existentes.
Expresiones
Una lista de definiciones de expresiones. Cada entrada incluye una columna de origen opcional, una expresión SQL y un alias de salida obligatorio.
Por ejemplo, para convertir un valor de velocidad, puede establecer la columna de origen en speed, la expresión a speed * 1.2, y el alias a speed_adjusted. El alias es obligatorio para cada expresión.
SQL personalizado
Proporciona una entrada SQL de forma libre para lógica compleja que los otros tipos de nodo no pueden expresar. Úselo cuando necesite control total sobre la consulta.
SQL personalizado
Una SELECT consulta donde los nodos upstream son accesibles por sus alias CTE.
Los alias de los nodos de origen siguen el patrón a_<node_id> (por ejemplo, a_node_1, a_filter_1). Los identificadores de nodo se sanean a identificadores SQL válidos, con espacios y caracteres especiales reemplazados por guiones bajos.
Los nodos SQL personalizados aceptan una o dos entradas. Su consulta puede hacer referencia a las CTE correspondientes por sus alias.
Configuración de salida
Salida
El Salida nodo define cómo deben escribirse los resultados de su transformación en la Capa de transformación. Especifica los metadatos de la tabla objetivo que el runtime externo usa para almacenar los datos procesados.
Nombre de tabla
El nombre de la tabla objetivo en la processed_custom_data esquema.
Columna de tiempo
La columna de marca temporal en los datos de salida (por ejemplo, device_time).
Particionar por
Una expresión de particionado para organizar los datos almacenados (por ejemplo, DATE(device_time)).
Clave primaria
Una lista de columnas que identifican de forma única cada fila (por ejemplo, [device_id, device_time]).
Modo de escritura
Cómo se escriben los datos en la tabla objetivo: append (agregar filas nuevas), overwrite (reemplazar datos existentes), u upsert (actualizar filas existentes, insertar nuevas).
Construcción de un flujo de trabajo
Un flujo de trabajo típico sigue estos pasos:
Agregar nodos de origen de datos
Agregue un Datos sin procesar: Telemática nodo y seleccione la tabla y las columnas con las que desea trabajar. Si necesita datos de referencia (por ejemplo, detalles del vehículo o descripciones de sensores), agregue también un Datos sin procesar: Empresarial nodo.
Agregar nodos de transformación
Inserte los nodos de transformación que su flujo de trabajo requiera:
SQL Transform para unir datos
Filtro para reducir resultados
Re-muestreo para agregar series temporales
Aritmética para agregar columnas calculadas
SQL personalizado para lógica compleja.
Configurar el nodo de Salida
Agregue un Salida nodo y establezca el nombre de la tabla objetivo, las columnas de clave primaria y el modo de escritura para su entidad analítica.
Vista previa de resultados
Haga clic en Ejecutar para ejecutar una vista previa de su flujo de trabajo. El Builder compila el grafo en SQL y lo ejecuta contra su base de datos, devolviendo hasta 100 filas para que pueda verificar la salida.
Exportar
Puede exportar su flujo de trabajo completado como un archivo YAML para ejecución en runtime o para compartir con colegas. Consulte Referencia YAML de flujo de trabajo para detalles del formato.
Programar ejecución
Haga clic en Programar para abrir el cuadro de diálogo de configuración, donde puede determinar la hora exacta y la frecuencia de la ejecución del flujo de trabajo. En la hora fijada, una función en la base de datos activará el flujo de trabajo y guardará su resultado en la Capa de transformación.

Vista previa de resultados
Después de hacer clic en Ejecutar en la barra de herramientas, el Builder compila su grafo de flujo de trabajo en una única consulta SQL con CTEs y la ejecuta contra la base de datos PostgreSQL conectada. Los resultados aparecen en el panel inferior.
En ejecución exitosa, el panel muestra:
Una tabla de resultados que muestra hasta 100 filas de datos de salida
La consulta SQL ejecutada (la consulta CTE completa generada por el compilador)
Recuento de filas, número de columnas y tiempo de ejecución
Opción para exportar el resultado a CSV
En error de ejecución, el panel muestra:
Un mensaje de error que describe qué salió mal
La consulta SQL ejecutada (si la compilación tuvo éxito)
Detalles del error de la base de datos (si el error ocurrió durante la ejecución de la consulta)
La vista previa de resultados requiere una conexión PostgreSQL activa. Sin conexión, la vista previa devuelve un resultado vacío sin ejecutar SQL. La vista previa siempre usa datos reales de su base de datos, no datos simulados.

Validación y compilación
El Builder valida su flujo de trabajo en dos niveles.
Validación del grafo verifica la estructura general de su flujo de trabajo. El grafo debe ser un grafo dirigido acíclico válido (DAG), lo que significa que los datos fluyen en una dirección sin ciclos. Si el Builder detecta un ciclo, devuelve un error y resalta los nodos afectados.
Validación de nodos verifica la configuración de cada nodo individualmente. El Builder comprueba que los campos obligatorios estén completos, que las columnas referenciadas existan en la salida del nodo upstream y que los parámetros del nodo sean consistentes con su tipo (por ejemplo, SQL Transform debe tener exactamente dos entradas).
Durante la compilación, el Builder convierte su grafo en una única consulta SQL. Cada nodo se convierte en una CTE con el alias a_<node_id>. Los nodos se disponen en orden topológico para que cada CTE pueda hacer referencia a las salidas de sus nodos predecesores. Si la compilación falla debido a un error de configuración o una estructura de grafo inválida, el Builder devuelve los detalles del error junto con cualquier SQL parcial que haya podido generar.
Exportación
Exportación e importación YAML
Puede exportar un flujo de trabajo completado como un archivo YAML usando el Exportar botón en la barra de herramientas. El archivo exportado contiene la definición completa del flujo de trabajo en el formato de la versión 2, incluyendo todas las configuraciones de nodos, aristas del grafo y posiciones de diseño.
Para cargar un flujo de trabajo guardado previamente, use la Importar función y seleccione un .yaml o .yml archivo. Para la documentación completa del formato, consulte la Referencia YAML de flujo de trabajo.
Limitaciones actuales
Transformation Builder está actualmente en su lanzamiento inicial, y se aplican varias restricciones:
La vista previa requiere una conexión PostgreSQL activa. Sin conexión, no puede obtener una vista previa de los resultados. La vista previa está limitada a 100 filas.
El grafo debe estar libre de ciclos. Los datos fluyen en una sola dirección, de las fuentes a la salida.
No hay motor de ejecución integrado. El Builder genera configuración y SQL para ejecución en runtime externa. No procesa ni almacena datos por sí mismo.
Procesamiento por lotes solamente. El procesamiento de datos en streaming no es compatible.
Próximos pasos
Capa de transformación: Aprenda cómo la Capa de transformación organiza los datos procesados en esquemas y cómo consultarla.
Referencia YAML de flujo de trabajo: Revise la especificación completa para el formato de exportación e importación YAML.
Capa de datos sin procesar: Explore los esquemas de origen (
raw_telematics_datayraw_business_data) que proporcionan datos de entrada para sus flujos de trabajo.
Última actualización
¿Te fue útil?