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