PySpark - SparkFiles 概述
在 Apache Spark 中,您可以使用 sc.addFile(sc 是您的默认 SparkContext)上传您的文件,并使用 SparkFiles.get 获取 worker 的路径。 因此,SparkFiles 解析通过 SparkContext.addFile() 添加的文件的路径。
SparkFiles 包含以下类方法 −
- get(filename)
- 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------------------------------------
命令 − 命令如下 −
$SPARK_HOME/bin/spark-submit sparkfiles.py
输出 − 上述命令的输出是 −
Absolute Path -> /tmp/spark-f1170149-af01-4620-9805-f61c85fecee4/userFiles-641dfd0f-240b-4264-a650-4e06e7a57839/finddistance.R