Une technologie intelligente pour une industrie manufacturière forte avec une production ininterrompue 24h/24 et 7j/7 de solutions IIoT pour les entreprises.

Réalisations

Ingestion framework

VDAB

Ingestion framework chez VDAB

Le VDAB, le service public de l’emploi en Flandre, Belgique, joue un rôle clé dans l’appariement entre les demandeurs d’emploi et les offres, la formation professionnelle et l’orientation de carrière. Il soutient également les employeurs dans leur recherche de candidats qualifiés et propose des programmes d’intégration pour les groupes défavorisés, notamment les chômeurs de longue durée, les personnes en situation de handicap et les immigrés. Bien que sAInce.io opère principalement dans l’industrie manufacturière, nous étions néanmoins ravis d’apporter notre aide au VDAB face aux défis qu’il rencontre.

Le défi

Pour remplir sa mission de chef d’orchestre des carrières en Flandre, le VDAB devait passer à une nouvelle infrastructure technologique big data capable de gérer les énormes volumes de données qu’il traite quotidiennement. Une gestion efficace des données et une adaptation rapide aux nouvelles exigences en matière de reporting, d’analyse et d’apprentissage automatique étaient essentielles pour améliorer les services du VDAB.

La solution

sAInce.io a joué un rôle essentiel dans la sélection et les tests d’une nouvelle plateforme de données (SingleStore) pour l’entrepôt de données d’entreprise on-premise du VDAB. Après la preuve de concept initiale, cette responsabilité a été transférée à une nouvelle équipe travaillant sur le nouveau DWH selon une approche de type datavault. sAInce.io a ensuite été intégré dans une équipe de développement afin de contribuer à la mise en place d’un cadre générique d’ingestion de données pour charger tout type de données dans un data lakehouse.

Par "tout type de données", on entend des sources de tables issues de systèmes relationnels traditionnels comme Oracle, MySQL et SQL Server, des événements Kafka, ainsi que des fichiers plats. L’objectif du data lakehouse est de fournir une couche historique complète pour tous ces jeux de données, afin qu’ils puissent être utilisés :

  • par des data scientists pour effectuer des analyses temporelles et construire des modèles de machine learning

  • par des analystes métiers ou des rapporteurs pour explorer rapidement les données historiques

  • par des utilisateurs métiers via le datavault et les data marts du DWH pour des besoins analytiques avancés.


De plus, ce cadre d’ingestion devait s’intégrer dans le paysage architectural existant du VDAB. Nifi est utilisé pour extraire les jeux de données de tables et de fichiers, et génère des fichiers delta Avro sur un datalake on-premise, soutenu par un cluster HDFS de Cloudera.


Finalement, l’équipe a développé un cadre robuste d’ingestion de données basé sur Python, Apache Airflow, Apache Spark, Apache Iceberg et HDFS, permettant une gestion et une intégration efficaces des données.

Fonctionnalités clés et avantages

  • Ingestion de données polyvalente : Le cadre permet de charger des données provenant de diverses sources – bases de données, événements et fichiers – dans un data lake (ou plutôt un lakehouse), et alimente la zone de réception de l'entrepôt de données d’entreprise via une configuration simple.

  • Automatisation et efficacité : En ne nécessitant que quelques éléments de configuration, le système gère automatiquement le flux de données à travers toutes les couches. Cela améliore considérablement le time-to-market et élimine le besoin de pipelines ETL/ELT personnalisés.

  • Gestion complète des données : Le cadre prend en charge le chargement de tables de bases de données, de fichiers plats et d'événements Kafka. Il garantit l’historisation grâce à différentes méthodes telles que la date de transaction, les valeurs de hachage de contenu, les mappings de tables d’audit et le mode append-only.

  • Stockage avancé des données : Le système crée des tables Iceberg de type SCD2 (Slowly Changing Dimension type 2) au format Parquet dans un datalake HDFS, et fonctionne sur un cluster Spark on-premise (Cloudera).

  • Traitement parallèle et optimisation : Les données sont chargées en parallèle et optimisées pour le chargement et la transformation selon la structure, la taille et la méthode d’historisation du dataset.

  • Intégration et automatisation : Le cadre s’intègre à SingleStore, permettant une ingestion automatique dans la zone de réception, et à Vaultspeed pour l’automatisation de la création des couches datavault. Le cadre prend en charge les changements de schéma, l’évolution automatique des schémas, les replays et les relances de sous-processus.

  • Supervision et orchestration : Le système s’intègre à Prometheus/Grafana pour la surveillance. L’ingestion, les replays et la maintenance sont orchestrés à l’aide d’Apache Airflow, optimisant l’utilisation des ressources sur la plateforme Cloudera on-premise.

Impact

La mise en œuvre du nouveau cadre d'ingestion de données chez VDAB a entraîné plusieurs avantages significatifs :

  • Amélioration du time-to-market : Livraison plus rapide de nouveaux jeux de données et des besoins en reporting/analytique.

  • Réduction des coûts : Diminution des coûts liés au développement ETL supplémentaire.

  • Efficacité accrue : Traitement plus rapide des nouvelles demandes, permettant à VDAB de répondre rapidement aux nouveaux besoins.

Bien que nous ayons joué un rôle clé dans le développement de ce nouveau cadre, la création d’un système est toujours un travail d’équipe et jamais le mérite d’une seule personne. Félicitations donc à tous nos collègues de VDAB et continuez votre excellent travail!


Les capacités polyvalentes de sAInce.io répondent également aux défis liés à l’ingénierie des données et au big data. Forts de plus de 20 ans d’expérience en data warehousing, business intelligence et analytique, d’une connaissance approfondie des frameworks de calcul distribué comme Apache Spark et Dask, ainsi que d’une compréhension poussée des besoins en architecture de données pour tout type de cas d’usage, nous sommes en mesure de vous accompagner dans les défis de la transformation numérique. Nous ne nous limitons pas à la simple gestion ou utilisation des données dans les applications, mais nous cherchons à maximiser la valeur analytique des données pour les utilisateurs finaux.


En prenant en compte l’ensemble du pipeline de bout en bout lors de la conception de systèmes, nous pouvons livrer des solutions qui font réellement la différence et permettent une véritable transformation vers l’usine intelligente.