Types de données
Beau travail ! Avant de commencer à modéliser, il est important de savoir que Spark ne gère que des données numériques. Cela signifie que toutes les colonnes de votre DataFrame doivent être soit des entiers, soit des décimaux (appelés « doubles » dans Spark).
Lors de l'importation de nos données, nous avons laissé Spark deviner le type d'information contenu dans chaque colonne. Malheureusement, Spark ne devine pas toujours correctement et vous pouvez voir que certaines colonnes de notre DataFrame sont des chaînes qui contiennent des nombres plutôt que de véritables valeurs numériques.
Pour corriger la situation, vous pouvez utiliser la méthode .cast() combinée à la méthode .withColumn().
Il est important de noter que .cast() s'applique aux colonnes, tandis que .withColumn() s'applique aux DataFrames.
Le seul argument à transmettre à .cast() est le type de valeur que vous voulez obtenir, sous forme de chaîne. Par exemple, pour créer des entiers, passez l'argument "integer" et, pour des nombres décimaux, utilisez "double".
Vous pouvez placer cet appel à .cast() à l'intérieur d'un appel à .withColumn() pour écraser la colonne existante, exactement comme vous l'avez fait au chapitre précédent !
De quel type de données Spark a-t-il besoin pour la modélisation ?
Cette activité fait partie du cours
Fondements de PySpark
Exercice interactif pratique
Passez de la théorie à l’action grâce à l’un de nos exercices interactifs
Commencer l’exercice