Pyspark 简明教程

PySpark - SparkFiles

在 Apache Spark 中,可以使用 sc.addFile 上传文件(sc 是您的默认 SparkContext)并使用 SparkFiles.get 获取工作程序上的路径。因此,SparkFiles 会解析通过 SparkContext.addFile() 添加的文件的路径。

SparkFiles 包含以下类方法−

  1. get(filename)

  2. getrootdirectory()

我们详细了解它们。

get(filename)

它指定通过 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