Constructeur de transformations
Créez visuellement des transformations personnalisées, prévisualisez les résultats, validez les flux de travail et exportez-les pour exécution.
Bientôt disponible !
Transformation Builder est actuellement en développement. La description de la fonctionnalité sur cette page reflète le fonctionnement prévu. Les détails d'implémentation peuvent évoluer avant la version finale. Si vous souhaitez un accès anticipé ou avez des questions, contactez iotquery@navixy.com.
Ce qu'est Transformation Builder
Transformation Builder est un outil visuel pour concevoir des workflows de transformation de données sans avoir à développer et maintenir des pipelines de données complexes. Vous assemblez la logique de traitement sous forme de graphe où chaque étape est représentée par un bloc distinct (nœud), et l'outil compile votre graphe en SQL exécutable.
Transformation Builder est conçu pour les analystes, spécialistes BI et toute personne disposant de connaissances SQL de base souhaitant contrôler indépendamment la logique de préparation des données. Il vous aide à répondre aux questions clés de la préparation des données : d'où proviennent les données, comment elles sont jointes, quels filtres et transformations sont appliqués, comment les séries temporelles sont agrégées et sous quelle forme les données doivent apparaître dans la couche Transformation.
Transformation Builder n'est pas un orchestrateur ETL complet ni une plateforme de données. C'est un concepteur de workflows spécialisé qui génère la configuration et le SQL pour une exécution runtime externe.
Comment cela fonctionne
Un workflow dans Transformation Builder est un graphe orienté de nœuds disposés depuis les sources de données jusqu'à la sortie :

Chaque nœud correspond à une étape logique de traitement. Vous pouvez combiner plusieurs sources dans un nœud de transformation, et le résultat d'un nœud peut alimenter plusieurs nœuds en aval. Le graphe vous donne une représentation visuelle claire de l'ensemble du chemin des données des tables sources à l'entité analytique cible.
Le Builder compile votre graphe en une seule requête SQL en utilisant des Common Table Expressions (CTE). Chaque nœud devient une CTE dans la requête finale. Cette approche de compilation signifie que le Builder n'écrit pas les données directement dans la base de données. Il génère plutôt une configuration qui exécute le traitement des données réel selon un calendrier.
Les données dans le graphe doivent circuler dans une seule direction. Les cycles ne sont pas autorisés. Si le Builder détecte un cycle, il renvoie une erreur de validation.
Connexion à la base de données
Avant de commencer à construire un workflow, vous devez vous connecter à votre base de données PostgreSQL. Sans connexion active, l'aperçu des données et la découverte des tables ne sont pas disponibles.
Le panneau de connexion vous permet de spécifier votre URL de connexion, de vous connecter ou de vous déconnecter, et de voir le nombre de tables trouvées dans chaque catégorie. Le Builder utilise deux schémas dans votre base de données :
raw_telematics_datapour les données télématiques et les données des capteurs d'appareilraw_business_datapour les données de référence métier (véhicules, employés, géofences et entités similaires)
Une fois connecté, le Builder découvre automatiquement les tables et les colonnes disponibles, que vous pouvez ensuite sélectionner lors de la configuration des nœuds de source de données.

Nœuds source de données
Les nœuds source de données définissent d'où votre workflow lit les données. Chaque nœud source correspond à une table dans la couche Données brutes.
Données brutes : Télématique
Ce nœud charge des données temporelles depuis le raw_telematics_data schéma.
Nom de la table
Sélectionnez dans la liste des tables découvertes lors de la connexion à la base de données.
Colonne temporelle
La colonne d'horodatage utilisée pour le tri et les filtres basés sur le temps. Par défaut device_time.
Colonnes
Liste des colonnes spécifiques à inclure, ou * pour sélectionner toutes les colonnes.
Condition de filtre
SQL optionnel WHERE condition appliquée directement à la requête source.
Fenêtre temporelle (minutes)
Limite temporelle optionnelle (en minutes) pour restreindre la fenêtre de données dans le SQL. Laisser vide pour aucune limite.
Chaque nœud Données brutes : Télématique lit exactement d'une table. Pour utiliser des données provenant de plusieurs tables, ajoutez un nœud distinct pour chaque table.
Données brutes : Métier
Ce nœud charge des données de référence depuis le raw_business_data schéma. Les tables typiques incluent objects, vehicles, devices, et sensor_description.
Nom de la table
Sélectionnez dans la liste des tables métier découvertes.
Colonne clé
La colonne clé pour cette table (par exemple, object_id ou sensor_id).
Colonnes
Liste des colonnes spécifiques à inclure, ou * pour sélectionner toutes les colonnes.
Les nœuds Données brutes : Métier sont principalement utilisés comme deuxième entrée pour le nœud SQL Transform, ce qui permet de joindre les données de référence aux séries temporelles télématiques.
Nœuds de transformation
Les nœuds de transformation définissent ce qui arrive à vos données après leur chargement depuis les sources. Chaque type de transformation gère un schéma de traitement spécifique.
SQL Transform
Combine les données de exactement deux nœuds source en utilisant une opération SQL JOIN .
Type de jointure
Le type de jointure : INNER, LEFT, RIGHT, ou FULL (jointure externe complète).
Condition de jointure
La condition pour faire correspondre les lignes entre les deux entrées (par exemple, en faisant correspondre sur device_id).
Sélectionner les colonnes
Liste des colonnes à inclure dans la sortie. Prend en charge la notation préfixe telle que source.* pour sélectionner toutes les colonnes d'une entrée spécifique.
SQL Transform nécessite exactement deux entrées. Les entrées peuvent être n'importe quelle combinaison de nœuds source de données ou de sorties d'autres nœuds de transformation.
Filtre
Filtre les données par plage temporelle et conditions personnalisées. Toutes les conditions sont exécutées dans la base de données dans le cadre de la clause WHERE (filtrage par pushdown).
Colonne temporelle
La colonne d'horodatage à utiliser pour le filtrage temporel. Par défaut device_time.
Début / fin de la plage temporelle
Bornes de début et de fin pour le filtre temporel.
Conditions dynamiques
Une liste de conditions SQL combinées avec AND. Utilisez-les pour un filtrage supplémentaire au-delà de la plage temporelle.
Rééchantillonnage
Agrège les données temporelles en intervalles temporels fixes. Ceci est utile pour convertir des points de données à haute fréquence en statistiques récapitulatives sur des périodes régulières.
Colonne temporelle
La colonne d'horodatage à utiliser pour le regroupement par intervalle. Par défaut device_time.
Intervalle
L'intervalle d'agrégation : 1min, 5min, 15min, 1hour, ou 1day.
Regrouper par
Colonnes supplémentaires par lesquelles regrouper (en plus de l'intervalle temporel).
Agrégations
Une liste de paires colonne-méthode définissant comment chaque colonne est agrégée. Méthodes disponibles : avg, sum, min, max, first, last, count.
Arithmétique
Ajoute ou remplace des colonnes en utilisant des expressions SQL. Utilisez ce nœud pour créer des colonnes calculées basées sur des données existantes.
Expressions
Une liste de définitions d'expressions. Chaque entrée inclut une colonne source optionnelle, une expression SQL et un alias de sortie requis.
Par exemple, pour convertir une valeur de vitesse, vous pouvez définir la colonne source sur speed, l'expression sur speed * 1.2, et l'alias sur speed_adjusted. L'alias est obligatoire pour chaque expression.
SQL personnalisé
Fournit un champ SQL libre pour une logique complexe que les autres types de nœuds ne peuvent pas exprimer. Utilisez ceci lorsque vous avez besoin d'un contrôle total sur la requête.
SQL personnalisé
Une SELECT requête où les nœuds en amont sont accessibles par leurs alias de CTE.
Les alias des nœuds sources suivent le modèle a_<node_id> (par exemple, a_node_1, a_filter_1). Les identifiants de nœuds sont assainis en identifiants SQL valides, les espaces et caractères spéciaux étant remplacés par des underscores.
Les nœuds SQL personnalisés acceptent une ou deux entrées. Votre requête peut référencer les CTE correspondantes par leurs alias.
Configuration de la sortie
Sortie
Le Sortie nœud définit comment les résultats de votre transformation doivent être écrits dans la couche Transformation. Il spécifie les métadonnées de la table cible que le runtime externe utilise pour stocker les données traitées.
Nom de la table
Le nom de la table cible dans la processed_custom_data schéma.
Colonne temporelle
La colonne d'horodatage dans les données de sortie (par exemple, device_time).
Partitionner par
Une expression de partitionnement pour organiser les données stockées (par exemple, DATE(device_time)).
Clé primaire
Une liste de colonnes qui identifient de manière unique chaque ligne (par exemple, [device_id, device_time]).
Mode d'écriture
Comment les données sont écrites dans la table cible : append (ajouter de nouvelles lignes), overwrite (remplacer les données existantes), ou upsert (mettre à jour les lignes existantes, insérer les nouvelles).
Construction d'un workflow
Un workflow typique suit ces étapes :
Ajouter des nœuds source de données
Ajoutez un Données brutes : Télématique nœud et sélectionnez la table et les colonnes avec lesquelles vous souhaitez travailler. Si vous avez besoin de données de référence (par exemple, détails du véhicule ou descriptions des capteurs), ajoutez également un Données brutes : Métier nœud.
Ajouter des nœuds de transformation
Insérez les nœuds de transformation requis par votre workflow :
SQL Transform pour joindre des données
Filtre pour restreindre les résultats
Rééchantillonnage pour agréger des séries temporelles
Arithmétique pour ajouter des colonnes calculées
SQL personnalisé pour une logique complexe.
Configurer le nœud Sortie
Ajoutez un Sortie nœud et définissez le nom de la table cible, les colonnes de clé primaire et le mode d'écriture pour votre entité analytique.
Aperçu des résultats
Cliquez sur Exécuter pour lancer un aperçu de votre workflow. Le Builder compile le graphe en SQL et l'exécute contre votre base de données, renvoyant jusqu'à 100 lignes afin que vous puissiez vérifier la sortie.
Exporter
Vous pouvez exporter votre workflow terminé en tant que fichier YAML pour l'exécution runtime ou le partage avec des collègues. Voir Référence YAML du workflow pour les détails de format.
Planifier l'exécution
Cliquez sur Planifier pour ouvrir la boîte de dialogue de configuration, où vous pouvez déterminer l'heure exacte et la fréquence d'exécution du workflow. À l'heure définie, une fonction dans la base de données déclenchera le workflow et sauvegardera son résultat dans la couche Transformation.

Aperçu des résultats
Après avoir cliqué sur Exécuter dans la barre d'outils, le Builder compile le graphe de votre workflow en une seule requête SQL avec des CTE et l'exécute contre la base de données PostgreSQL connectée. Les résultats apparaissent dans le panneau inférieur.
En cas d'exécution réussie, le panneau affiche :
Un tableau de résultats montrant jusqu'à 100 lignes de données de sortie
La requête SQL exécutée (la requête CTE complète générée par le compilateur)
Nombre de lignes, nombre de colonnes et temps d'exécution
Option d'exporter le résultat au format CSV
En cas d'erreur d'exécution, le panneau affiche :
Un message d'erreur décrivant ce qui a mal tourné
La requête SQL exécutée (si la compilation a réussi)
Détails de l'erreur de la base de données (si l'erreur est survenue lors de l'exécution de la requête)
L'aperçu des résultats nécessite une connexion PostgreSQL active. Sans connexion, l'aperçu renvoie un résultat vide sans SQL exécuté. L'aperçu utilise toujours des données réelles provenant de votre base de données, pas des données simulées.

Validation et compilation
Le Builder valide votre workflow à deux niveaux.
Validation du graphe vérifie la structure globale de votre workflow. Le graphe doit être un graphe orienté acyclique (DAG) valide, ce qui signifie que les données circulent dans une seule direction sans cycles. Si le Builder détecte un cycle, il renvoie une erreur et met en évidence les nœuds affectés.
Validation des nœuds vérifie la configuration de chaque nœud individuellement. Le Builder vérifie que les champs requis sont remplis, que les colonnes référencées existent dans la sortie du nœud en amont et que les paramètres du nœud sont cohérents avec son type (par exemple, SQL Transform doit avoir exactement deux entrées).
Lors de la compilation, le Builder convertit votre graphe en une seule requête SQL. Chaque nœud devient une CTE avec l'alias a_<node_id>. Les nœuds sont disposés dans l'ordre topologique afin que chaque CTE puisse référencer les sorties de ses nœuds prédécesseurs. Si la compilation échoue en raison d'une erreur de configuration ou d'une structure de graphe invalide, le Builder renvoie les détails de l'erreur ainsi que tout SQL partiel qu'il a pu générer.
Exportation
Export et import YAML
Vous pouvez exporter un workflow complet en tant que fichier YAML en utilisant le bouton Exporter dans la barre d'outils. Le fichier exporté contient la définition complète du workflow au format version 2, incluant toutes les configurations de nœuds, les arêtes du graphe et les positions de mise en page.
Pour charger un workflow précédemment enregistré, utilisez la fonction Importer et sélectionnez un .yaml ou .yml fichier. Pour la documentation complète du format, voir le Référence YAML du workflow.
Limitations actuelles
Transformation Builder est actuellement dans sa version initiale, et plusieurs contraintes s'appliquent :
L'aperçu nécessite une connexion PostgreSQL active. Sans connexion, vous ne pouvez pas prévisualiser les résultats. L'aperçu est limité à 100 lignes.
Le graphe doit être sans cycle. Les données circulent dans une seule direction, des sources vers la sortie.
Pas de moteur d'exécution intégré. Le Builder génère la configuration et le SQL pour une exécution runtime externe. Il ne traite ni ne stocke les données lui-même.
Traitement par lots uniquement. Le traitement de données en streaming n'est pas pris en charge.
Étapes suivantes
couche Transformation: Découvrez comment la couche Transformation organise les données traitées en schémas et comment les interroger.
Référence YAML du workflow: Consultez la spécification complète pour le format d'export et d'import YAML.
Couche de données brutes: Explorez les schémas sources (
raw_telematics_dataetraw_business_data) qui fournissent les données d'entrée pour vos workflows.
Mis à jour
Ce contenu vous a-t-il été utile ?