PySpark - SparkFiles

Dans Apache Spark, vous pouvez télécharger vos fichiers en utilisant sc.addFile (sc est votre SparkContext par défaut) et obtenez le chemin sur un worker en utilisant SparkFiles.get. Ainsi, SparkFiles résout les chemins vers les fichiers ajoutés viaSparkContext.addFile().

SparkFiles contient les méthodes de classe suivantes -

  • get(filename)
  • getrootdirectory()

Comprenons-les en détail.

get (nom de fichier)

Il spécifie le chemin du fichier ajouté via SparkContext.addFile ().

getrootdirectory ()

Il spécifie le chemin d'accès au répertoire racine, qui contient le fichier ajouté via SparkContext.addFile ().

----------------------------------------sparkfile.py------------------------------------
from pyspark import SparkContext
from pyspark import SparkFiles
finddistance = "/home/hadoop/examples_pyspark/finddistance.R"
finddistancename = "finddistance.R"
sc = SparkContext("local", "SparkFile App")
sc.addFile(finddistance)
print "Absolute Path -> %s" % SparkFiles.get(finddistancename)
----------------------------------------sparkfile.py------------------------------------

Command - La commande est la suivante -

$SPARK_HOME/bin/spark-submit sparkfiles.py

Output - La sortie de la commande ci-dessus est -

Absolute Path -> 
   /tmp/spark-f1170149-af01-4620-9805-f61c85fecee4/userFiles-641dfd0f-240b-4264-a650-4e06e7a57839/finddistance.R