PySpark - SparkFiles
В Apache Spark вы можете загружать свои файлы, используя sc.addFile (sc - это ваш SparkContext по умолчанию) и получите путь к рабочему, используя SparkFiles.get. Таким образом, SparkFiles разрешает пути к файлам, добавленным черезSparkContext.addFile().
SparkFiles содержат следующие методы классов -
- get(filename)
- getrootdirectory()
Давайте разберемся с ними подробнее.
получить (имя файла)
Он указывает путь к файлу, который добавляется через SparkContext.addFile ().
getrootdirectory ()
Он указывает путь к корневому каталогу, который содержит файл, добавленный с помощью 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 - Команда следующая -
$SPARK_HOME/bin/spark-submit sparkfiles.py
Output - Вывод для вышеуказанной команды -
Absolute Path ->
/tmp/spark-f1170149-af01-4620-9805-f61c85fecee4/userFiles-641dfd0f-240b-4264-a650-4e06e7a57839/finddistance.R