📜  PySpark-SparkFiles

📅  最后修改于: 2020-11-06 05:17:10             🧑  作者: Mango


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

SparkFiles包含以下类方法-

  • get(文件名)
  • getrootdirectory()

让我们详细了解它们。

get(文件名)

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

命令-命令如下-

$SPARK_HOME/bin/spark-submit sparkfiles.py

输出-上面命令的输出是-

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