PySpark - SparkFiles



在 Apache Spark 中,你可以使用 sc.addFile 上傳檔案(sc 是你的預設 SparkContext),並使用 SparkFiles.get 獲取它在工作程序中的路徑。因此,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
廣告