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