Gestion de contrats (Spark/Scala/SBT)
Ce projet présente une application basée sur Scala, développée avec Apache Spark, pour le traitement et la gestion des données de contrats. L'application prend en charge l'ingestion de fichiers multi-formats, la transformation des données et l'exécution d'opérations analytiques. Créée dans le cadre d'un projet d'apprentissage forké, elle vise à améliorer les compétences en traitement des données massives (big data) et en développement logiciel. Cette application fournit un exemple pratique de l'utilisation des technologies modernes pour extraire des insights des données de contrats, calculer des indicateurs financiers clés et déterminer le statut des contrats selon des règles définies. Note : Il s'agit d'un projet éducatif. Le code source original est la propriété du créateur du dépôt, et il n'est pas distribué sous la licence MIT.
APACHE SPARKSCALADATA TRANSFORMATION
5/29/20241 min lire
Principales fonctionnalités
Lecture multi-formats
Prise en charge de divers formats de fichiers d'entrée : JSON, CSV, Parquet, ORC et XML.
Architecture flexible de lecteur pour une ingestion de données fluide.
Opérations avancées sur les DataFrames
Implémentation d'une classe JsonReader pour lire les fichiers JSON selon des configurations personnalisées.
Utilisation des fonctions Spark SQL pour la manipulation et la transformation efficace des données.
Calcul du coût total
Calcul du TTC avec la formule : TTC=HTT+(TVA×HTT)TTC=HTT+(TVA×HTT)
Arrondi des résultats à deux décimales et suppression des colonnes intermédiaires (TVA, HTT) pour des sorties plus propres.
Extraction des dates et des villes
Analyse et extraction des dates de fin de contrat (Date_End_contrat) au format AAAA-MM-JJ.
Extraction des informations de ville (Ville) à l'aide de méthodes avancées de parsing de chaînes de caractères.
Détermination du statut des contrats
Ajout d'une colonne Contrat_Status :
"Expiré" pour les contrats dont la date de fin est passée.
"Actif" pour les contrats toujours en cours.
Stack Technologique
Environnement de développement : IntelliJ IDEA
Langage de programmation : Scala 2.12.15
Framework : Apache Spark
Outil de construction : SBT (Simple Build Tool)
Version de Java : Java 1.8