PySpark - SparkFiles
Trong Apache Spark, bạn có thể tải lên các tệp của mình bằng sc.addFile (sc là SparkContext mặc định của bạn) và lấy đường dẫn trên worker bằng cách sử dụng SparkFiles.get. Do đó, SparkFiles giải quyết các đường dẫn đến các tệp được thêm vàoSparkContext.addFile().
SparkFiles chứa các phân loại sau:
- get(filename)
- getrootdirectory()
Hãy để chúng tôi hiểu chúng một cách chi tiết.
get (tên tệp)
Nó chỉ định đường dẫn của tệp được thêm vào thông qua SparkContext.addFile ().
getrootdirectory ()
Nó chỉ định đường dẫn đến thư mục gốc, chứa tệp được thêm vào thông qua 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 - Lệnh như sau:
$SPARK_HOME/bin/spark-submit sparkfiles.py
Output - Đầu ra cho lệnh trên là -
Absolute Path ->
/tmp/spark-f1170149-af01-4620-9805-f61c85fecee4/userFiles-641dfd0f-240b-4264-a650-4e06e7a57839/finddistance.R