Apache spark 为什么spark提交--文件选项不起作用? spark submit--文件选项未按预期工作

Apache spark 为什么spark提交--文件选项不起作用? spark submit--文件选项未按预期工作,apache-spark,Apache Spark,我正在尝试为spark提交使用以下选项 --文件以逗号分隔的文件列表 放在工作台上 每个执行者的目录。这些文件的文件路径 可以通过SparkFiles.get(文件名)访问in executors 我本来希望在SparkFiles.get(“etl\u emr\u test\u config.json”)路径中存在etl\u emr\u test\u config.json),但它给我的错误是文件不存在可能是因为读取文件的是火花驱动程序,而不是执行器。不要使用spark.read.text尝试使

我正在尝试为spark提交使用以下选项

--文件以逗号分隔的文件列表 放在工作台上 每个执行者的目录。这些文件的文件路径 可以通过SparkFiles.get(文件名)访问in executors


我本来希望在SparkFiles.get(“etl\u emr\u test\u config.json”)路径中存在etl\u emr\u test\u config.json),但它给我的错误是文件不存在

可能是因为读取文件的是
火花驱动程序
,而不是
执行器
。不要使用
spark.read.text
尝试使用
just scala io读取文件
如何从executors的本地文件系统读取文件?
sh-4.2$ spark-shell --files etl_emr_test_config.json
..............................................
.............................................
..........................
..................................

Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.0
      /_/

Using Scala version 2.11.12 (OpenJDK 64-Bit Server VM, Java 1.8.0_222)
Type in expressions to have them evaluated.
Type :help for more information.

scala> import org.apache.spark._
import org.apache.spark._

scala> SparkFiles.get("etl_emr_test_config.json")
res0: String = /mnt/tmp/spark-770e7981-2a38-4b12-950d-3519e70bdbe0/userFiles-afa53bd8-45c9-4c30-a923-feb2f0927117/etl_emr_test_config.json

scala> spark.read.text(SparkFiles.get("etl_emr_test_config.json")).show()
org.apache.spark.sql.AnalysisException: Path does not exist: hdfs://ip-100-69-166-111.ec2.internal:8020/mnt/tmp/spark-770e7981-2a38-4b12-950d-3519e70bdbe0/userFiles-afa53bd8-45c9-4c30-a923-feb2f0927117/etl_emr_test_config.json;