PySpark - SparkFiles

En Apache Spark, puede cargar sus archivos usando sc.addFile (sc es su SparkContext predeterminado) y obtenga la ruta en un trabajador usando SparkFiles.get. Por lo tanto, SparkFiles resuelve las rutas a los archivos agregados a través deSparkContext.addFile().

SparkFiles contienen los siguientes métodos de clase:

  • get(filename)
  • getrootdirectory()

Entendamos en detalle.

get (nombre de archivo)

Especifica la ruta del archivo que se agrega a través de SparkContext.addFile ().

getrootdirectory ()

Especifica la ruta al directorio raíz, que contiene el archivo que se agrega a través de 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 - El comando es el siguiente -

$SPARK_HOME/bin/spark-submit sparkfiles.py

Output - La salida para el comando anterior es -

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