Не удалось передать массив [org. apache .had oop .fs.FileStatus] в spark.read - PullRequest
0 голосов
/ 17 февраля 2020

Мне нужно передать массив файлов Had oop path в spark.read

status = Array (org. apache .had oop .fs.FileStatus)

Я пытался:

val s = spark.read.format("json").load(status: _*)

Ошибка:


<console>:32: error: overloaded method value load with alternatives:

  (paths: String*)org.apache.spark.sql.DataFrame <and>

  (path: String)org.apache.spark.sql.DataFrame

cannot be applied to (org.apache.hadoop.fs.FileStatus)

       val s = spark.read.format("json").load(status: _*)

Как создать столбец, содержащий имя файла в соответствующей строке Dataframe?

1 Ответ

1 голос
/ 17 февраля 2020

Сначала нужно получить пути к файлам из массива FileStatus объектов.

Это должно работать нормально:

val files = status.map(_.getPath().toString)

val df = spark.read.format("json").load(files: _*)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...