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.

circle-info

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.comenvelope.

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 :

workflow graph example showing sources, transformations, and output
Données brutes → Nœuds de transformation → 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.

circle-exclamation

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_data pour les données télématiques et les données des capteurs d'appareil

  • raw_business_data pour 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.

connection panel showing URL input and discovered table counts

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.

chevron-rightDonnées brutes : Télématiquehashtag

Ce nœud charge des données temporelles depuis le raw_telematics_data schéma.

Paramètre
Description

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.

chevron-rightDonnées brutes : Métierhashtag

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.

Paramètre
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.

chevron-rightSQL Transformhashtag

Combine les données de exactement deux nœuds source en utilisant une opération SQL JOIN .

Paramètre
Description

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.

chevron-rightFiltrehashtag

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).

Paramètre
Description

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.

chevron-rightRééchantillonnagehashtag

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.

Paramètre
Description

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.

chevron-rightArithmétiquehashtag

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.

Paramètre
Description

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.

chevron-rightSQL personnaliséhashtag

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.

Paramètre
Description

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

chevron-rightSortiehashtag

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.

Paramètre
Description

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 :

1

Ouvrir Transformation Builder

Lancer l'interface Transformation Builder.

2

Se connecter à votre base de données

Saisissez votre URL de connexion PostgreSQL et établissez la connexion. Le Builder découvre automatiquement les tables et les colonnes disponibles.

3

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.

4

Ajouter des nœuds de transformation

Insérez les nœuds de transformation requis par votre workflow :

5

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.

6

Connecter les nœuds

Tracez des arêtes entre les nœuds pour définir le flux de données. Connectez les nœuds source aux nœuds de transformation, et les nœuds de transformation au nœud Sortie. Les données circulent de gauche à droite, des sources vers la sortie.

7

Vérifier et corriger les erreurs

Vérifiez les indications de validation pour tout problème de configuration. Corrigez les erreurs dans les paramètres des nœuds ou la structure du graphe si nécessaire.

8

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.

circle-info

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.

9

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.

completed workflow graph with all node types connected
Exemple de flux de transformation complet

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)

circle-exclamation
Results preview panel showing successful execution with result table and SQL
Résultat du flux exécuté

Validation et compilation

Le Builder valide votre workflow à deux niveaux.

  1. 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.

  2. 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_data et raw_business_data) qui fournissent les données d'entrée pour vos workflows.

Mis à jour

Ce contenu vous a-t-il été utile ?