Tester avec Spark

1. Tester sans Spark

Il est assez rare de ne pas avoir besoin de tester automatiquement un programme. Sauf si vous développez quelque chose d’expéditif voué à ne plus être utilisé dans les semaines à venir, un bouclier de tests automatisés est indispensable. Nous allons voir quelques astuces qui vous aideront à tester vos programmes avec Spark.

Nous parlerons ici de tests unitaires.

Nous basculons dans Scala pour un instant. Supposons que nous travaillons avec l’API Dataset. Nous créons une case class nommée Diamant.

case class Diamant(couleur: String, prix: Int) 

Nous téléchargeons un fichier auquel nous appliquons la case class Diamant et obtenons ainsi un Dataset.

val diamants: Dataset[Diamant] = 
spark.read.csv("diamants.csv").as[Diamant] 

Nous voulons à présent récupérer uniquement la couleur du diamant.

val result: Dataset[String] = diamants.map(diamant => { 
  diamant.couleur 
}) 

Ici, il est possible de tester cette partie de code sans faire intervenir Spark. Ce que nous voulons vérifier, c’est notre capacité à extraire la couleur. Or, nous pouvons déplacer ce code dans une fonction.

def selectionneCouleur(diamant: Diamant): String = { 
  diamant.couleur 
} 

Nous l’utilisons ensuite.

val resultat: Dataset[String] = diamants.map(selectionneCouleur(_)) 

Nous effectuons un test sur la fonction selectionneCouleur. Aucune intervention de...

couv_EISPARK.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Améliorer les performances de temps
Suivant
Améliorer les performances algorithmiques