PySpark - SparkConf

Pour exécuter une application Spark sur le local / cluster, vous devez définir quelques configurations et paramètres, c'est ce que SparkConf aide. Il fournit des configurations pour exécuter une application Spark. Le bloc de code suivant contient les détails d'une classe SparkConf pour PySpark.

class pyspark.SparkConf (
   loadDefaults = True, 
   _jvm = None, 
   _jconf = None
)

Dans un premier temps, nous allons créer un objet SparkConf avec SparkConf (), qui chargera les valeurs de spark.*Propriétés système Java également. Vous pouvez désormais définir différents paramètres à l'aide de l'objet SparkConf et leurs paramètres auront priorité sur les propriétés système.

Dans une classe SparkConf, il existe des méthodes setter, qui prennent en charge le chaînage. Par exemple, vous pouvez écrireconf.setAppName(“PySpark App”).setMaster(“local”). Une fois que nous avons transmis un objet SparkConf à Apache Spark, il ne peut être modifié par aucun utilisateur.

Voici quelques-uns des attributs les plus couramment utilisés de SparkConf -

  • set(key, value) - Pour définir une propriété de configuration.

  • setMaster(value) - Pour définir l'URL principale.

  • setAppName(value) - Pour définir un nom d'application.

  • get(key, defaultValue=None) - Pour obtenir une valeur de configuration d'une clé.

  • setSparkHome(value) - Pour définir le chemin d'installation de Spark sur les nœuds de travail.

Prenons l'exemple suivant d'utilisation de SparkConf dans un programme PySpark. Dans cet exemple, nous définissons le nom de l'application Spark commePySpark App et en définissant l'URL principale d'une application Spark sur → spark://master:7077.

Le bloc de code suivant contient les lignes, lorsqu'elles sont ajoutées dans le fichier Python, il définit les configurations de base pour exécuter une application PySpark.

---------------------------------------------------------------------------------------
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("PySpark App").setMaster("spark://master:7077")
sc = SparkContext(conf=conf)
---------------------------------------------------------------------------------------