PySpark - SparkFiles

ใน Apache Spark คุณสามารถอัปโหลดไฟล์โดยใช้ไฟล์ sc.addFile (sc คือ SparkContext เริ่มต้นของคุณ) และรับเส้นทางบนผู้ปฏิบัติงานโดยใช้ไฟล์ SparkFiles.get. ดังนั้น SparkFiles จึงแก้ไขเส้นทางไปยังไฟล์ที่เพิ่มผ่านSparkContext.addFile().

SparkFiles มีวิธีการเรียนดังต่อไปนี้ -

  • get(filename)
  • getrootdirectory()

ให้เราเข้าใจโดยละเอียด

รับ (ชื่อไฟล์)

ระบุเส้นทางของไฟล์ที่เพิ่มผ่าน SparkContext.addFile ()

getrootdirectory ()

ระบุพา ธ ไปยังไดเร็กทอรี root ซึ่งมีไฟล์ที่เพิ่มผ่าน 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