# Architecture ETL : Comment asapBI unifie Trino, Spark et Airflow dans une seule interface
La plateforme asapBI propose une approche simplifiée pour concevoir des processus ETL via une interface unique qui orchestre des outils comme Trino, Spark et Airflow — sans vous enfermer chez un fournisseur. Elle génère automatiquement du code pour les tâches courantes tout en permettant des ajustements manuels pour les cas complexes, et prend en charge le développement local avec une synchronisation fluide.
Comment fonctionne l'interface unifiée d'asapBI
L'idée centrale d'asapBI est un point de contrôle unique pour les ressources dispersées sur différents systèmes. Cela relie les modèles de données et les processus ETL qui seraient autrement isolés. L'interface est optionnelle : supprimez-la, et tout fonctionne encore, mais la configuration devient plus lourde. L'architecture de la plateforme tourne autour de l'orchestration, avec asapBI comme hub central qui interagit avec des clusters externes et des bases de données.
Principales exigences couvertes par le système :
- Pour les processus simples (comme déplacer des données entre tables), elle utilise un mappage de champs par glisser-déposer qui gère environ 90 % des tâches quotidiennes.
- Les workflows complexes nécessitent du code écrit à la main en SQL, Python, Java, Scala ou R.
- Les calculs lourds s'exécutent sur des clusters externes comme Trino, Spark ou Impala, en séparant stockage et calcul.
- Toutes les charges sont gérées depuis un seul point, simplifiant la surveillance.
- Le développement hors ligne est pris en charge : travaillez localement sans internet, puis synchronisez les changements.
- Seuls des composants open source sont utilisés pour éviter le verrouillage fournisseur et faciliter la maintenance.
Création et configuration des processus de transfert de données (DTP)
La brique de base de l'ETL dans asapBI est le DTP (Data Transfer Process) — un algorithme qui remplit une table à partir d'autres, éventuellement sur des bases de données différentes. Commencez par créer un DTP et configurez les mappages de champs via l'interface graphique. Il gère le transfert de données entre SGBD comme Greenplum vers ClickHouse, en utilisant Trino ou Spark comme moteur d'exécution.
Une fois configuré, déployez le DTP vers l'orchestrateur Airflow. asapBI se connecte à Airflow, qui peut passer les tâches à un cluster Spark. Choisissez votre langage d'implémentation : SQL ou Python pour Spark. Le code généré est visible et éditable dans l'onglet Code pour une transparence totale.
Exemple de code Python auto-généré pour Spark :
# Exemple de code généré pour DTP dans Spark
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("DTP_Example").getOrCreate()
df_source = spark.read.format("jdbc").option("url", "jdbc:postgresql://host/db").option("dbtable", "source_table").load()
df_target = df_source.selectExpr("col1", "col2", "col3")
df_target.write.format("jdbc").option("url", "jdbc:clickhouse://host/db").option("dbtable", "target_table").mode("overwrite").save()
Enregistrer un DTP vers Airflow crée automatiquement un DAG prêt à l'emploi. Lancez et déboguez ces DAGs via l'interface Airflow ou asapBI, qui suit aussi les logs d'exécution.
Orchestration des chaînes de chargement et gestion des workflows
Chaînez les DTP pour former des workflows, qui deviennent des DAGs dans Airflow. Les chaînes simples se construisent en ajoutant des DTP à un arbre de tâches. Pour des conditionnels, boucles ou logique avancée, éditez manuellement le code DAG auto-généré.
La force d'Airflow réside dans l'exécution parallèle de plusieurs DAGs, ce qui permet :
- Des chargements plus rapides en parallélisant les étapes indépendantes.
- Des tentatives automatiques ou manuelles pour les tâches échouées sans arrêter toute la chaîne.
- Une vraie indépendance des processus.
Pas d'orchestrateur comme Airflow ou Dagster ? asapBI déploie vers une base de données de votre choix, en générant automatiquement une fonction pour exécuter le DTP. Éditez ce code aussi pour plus de flexibilité.
Points clés
- asapBI offre une interface conviviale pour orchestrer l'ETL avec des outils open source, en évitant le verrouillage fournisseur.
- Elle génère automatiquement du code pour les tâches routinières mais permet des éditions manuelles pour les cas complexes.
- Développement hors ligne et tests locaux se synchronisent sans effort.
- Surveillez et gérez tout depuis un seul tableau de bord.
- Pas de boîtes noires : visualisez et modifiez toujours le code généré.
L'avenir de l'ETL et le rôle de l'IA en ingénierie des données
Avec les avancées de l'IA, des questions se posent sur l'ETL traditionnel et les modèles de données. En théorie, stockez tout dans un data lakehouse et laissez l'IA analyser directement pour des insights — sans tableaux de bord. Mais asapBI se concentre actuellement sur l'automatisation des tâches ingrates comme le passage des champs, laissant la logique complexe aux ingénieurs. Tant que l'IA ne gère pas le traitement des données de façon autonome, des outils comme asapBI restent indispensables pour structurer et orchestrer l'ETL.
— Editorial Team
Aucun commentaire pour le moment.