2016-07-26 5 views
1

Я работаю в Scala с хранилищем google и Zeppelin, я могу загрузить все мои json-файлы, используя следующий запрос.Spark DataFrame Zeppelin читать папки

sqlContext.read.json("gs://myBucket/*/jsonfile.json") 

Мои данные структурированы на небольшие куски, где каждый кусочек получил его собственную папку в myBucket. В папке чанка я получил файлы, связанные с этим куском

  • jsonfile.json
  • otherData.data
  • moreJsons.json

Я хочу, чтобы все мои папки пути и чем процесс в разные процесс/задача ... Так что я в состоянии сделать некоторые вещи, как, что:

if(isJson){ 
    sqlContext.read.json("gs://myBucket/chunkId/jsonfile.json") 
} 

в этом Например, я знаю путь chank: chunkId и, я получил некоторую внутреннюю логику для `isJson.

Так что это то, что мне нужно (я надеюсь, что это как-то ясно), и мой вопрос: Как получить список папок без чтения содержимого файла?

ответ

0

Spark не имеет встроенного механизма для перечисления файлов. Вы можете использовать любой механизм, который вы хотите сделать. Например, если Google Storage отображается через файловую систему Hadoop, вы можете использовать API Hadoop. Используйте свой кластер для реализации быстрого обмена файлами по ширине, например, примерно следующего: мы используем для быстрых специальных задач в Swoop.

Distributed file listing using Spark and the Hadoop filesystem APIs

Смежные вопросы