PySpark-SparkFiles
Apache Sparkでは、を使用してファイルをアップロードできます sc.addFile (scはデフォルトのSparkContextです)を使用してワーカーのパスを取得します SparkFiles.get。したがって、SparkFilesは、を介して追加されたファイルへのパスを解決しますSparkContext.addFile()。
SparkFilesには、次のクラスメソッドが含まれています-
- get(filename)
- 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------------------------------------
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