Dans les grandes lignes, il va falloir mettre en place un projet qui nous permette de créer un système de compliance "GDPR". On va limiter le scope de ce problème à la manipulation des fichiers et des données dans HDFS.

L'idée est de développer 2 services :

  1. Service 1 : Un service qui nous permette de supprimer des données depuis des fichiers CSV ou PARQUET (par exemple, nous pouvons avoir des données client, et un des clients voudrait supprimer les données qui lui sont relatives en nous fournissant son identifiant. Nous devrons être en mesure de le faire)
  2. Service 2 : Pareil que pour le service 1., ce service va nous permettre de hasher les données d'un client lorsqu'il le demande (ici, nous pouvons simplement remplacer les données personnelles du/des clients par un UUID).

Nous utiliserons les technologies suivantes :

  1. Spark
  2. Scala
  3. Scopt pour les arguments du programme
  4. Github et Github Actions [OPTIONNEL]
  5. Spray JSON (ou équivalent), pour pouvoir lire un fichier de configuration en JSON et le transformer en une case class

ID, Nom, Prenom

////////////////////////////////////

Les données que nous recevons (CSV) ne sont pas tout le temps correctement typées. Dans cette partie, il faudra écrire un fichier de configuration permettant de mapper les données dans le fichier CSV avec les types fournis en configuration. La configuration doit être au format JSON et ressembler à ceci :

{
columns: [
{
  "name": "columnName1",
  "type": "columnType2"
},
{
  "name": "columnName2",
  "type": "columnType2"
}

]
}