Список файлов в файловой системе не по умолчанию в Scala - PullRequest
0 голосов
/ 06 февраля 2020

Мне нужно получить доступ к нескольким Azure каплям в работе. Пример: для достаточно простой задачи, такой как перечисление файлов в файловой системе, можно просто выполнить для defaultFS : Я думал, что этого можно достичь, просто имея соответствующие учетные данные для других fs в core-site.xml (или добавив в конфигурацию, выполнив hc.put("fs.azure.account.key.<blob_name>.blob.core.windows.net", value) и используя необработанный путь (wasbs://<container_name>@<blob_name>.blob.core.windows.net/...), но это дает FileNotFoundException .

Как я могу получить доступ к fs не по умолчанию (конечно, без переопределения defaultFS )?

1 Ответ

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

Это работает для меня в Scala против S3 и HDFS. Это должно работать на Azure тоже. Я думаю, что вам не хватает URI при инициализации файловой системы.

import org.apache.hadoop.fs.{FileSystem, FileUtil, Path}

val sparkContext //create spark context or obtain from Spark session
val configuration = sparkContext.hadoopConfiguration
val fs = FileSystem.get(new URI(<url to blob storage>), configuration)

fs.listFiles(<pass org.apache.hadoop.fs.Path>, boolean <recursive or not>)

//You can also use
org.apache.hadoop.fs.FileUtil.listFiles(java.io.File)

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