Scala Spark:Spark.files vs.files

Scala Spark:Spark.files vs.files,scala,apache-spark,Scala,Apache Spark,文档中有spark.files,其中包含以下文本: Comma-separated list of files to be placed in the working directory of each executor. Globs are allowed. 它是否与spark submit中的--文件相同 我试图使用--conf spark.files和#进行重命名,但似乎没有起作用 有人会知道吗 您应该尝试使用spark.warn.dist.files属性 val spark = Spa

文档中有
spark.files
,其中包含以下文本:

Comma-separated list of files to be placed in the working directory of each executor. Globs are allowed.
它是否与spark submit中的
--文件
相同

我试图使用
--conf spark.files
#
进行重命名,但似乎没有起作用


有人会知道吗

您应该尝试使用
spark.warn.dist.files
属性

val spark = SparkSession
   .builder()
   .enableHiveSupport()
   .getOrCreate()
SparkContext是在实例化对象时创建的。在SparkContext实例化期间,如果
spark.files
属性配置为添加要下载到所有执行器节点的文件,则调用
addFile
方法

def addFile(path: String, recursive: Boolean): Unit = {
    val uri = new Path(path).toUri
    val schemeCorrectedPath = uri.getScheme match {
  case null | "local" => new File(path).getCanonicalFile.toURI.toString
  case _ => path

}

val hadoopPath = new Path(schemeCorrectedPath)

    ....
 }
例如,如果路径值为localfile.txt#rename.txt,Hadoopath将被翻译为localfile.txt%23rename.txt,这将把“#”之后的部分视为filepath的一部分,而不是片段。所以它抛出FileNotFoundException

--files,spark.warn.dist.files
中指定的文件通过Client.scala的deploy功能复制到executors节点,其中片段得到正确处理