Spark: spark.files против файлов - PullRequest
       10

Spark: spark.files против файлов

1 голос
/ 19 апреля 2019

В документации есть spark.files с текстом:

Comma-separated list of files to be placed in the working directory of each executor. Globs are allowed.

Это то же самое, что --files из spark-submit?

Я пытался использовать --conf spark.files с # для переименования, но не показалось, что это работает.

Кто-нибудь узнает?

1 Ответ

0 голосов
/ 19 апреля 2019

Вы должны попробовать с spark.yarn.dist.files свойство

val spark = SparkSession
   .builder()
   .enableHiveSupport()
   .getOrCreate()

SparkContext создается при создании объекта spark .Во время создания экземпляра SparkContext вызывается метод addFile, если свойство spark.files настроено для добавления файлов для загрузки на все узлы-исполнители.

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 # renamed.txt , hadoopPath переводится как localfile.txt% 23renamed.txt , который обрабатываетчасть после "#" как часть пути к файлу, а не как фрагмент.Таким образом, он генерирует FileNotFoundException.

Файлы, указанные в --files, spark.yarn.dist.files, копируются в узел исполнителей функцией deploy Client.scala, где фрагменты обрабатываются правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...