Pyspark-sparkfiles

提供:Dev Guides
2020年6月22日 (月) 23:22時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

PySpark-SparkFiles

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