2017-01-27 3 views
0

я пытаюсь принести и читать текстовые файлы в почтовом файле закачанных на AWS s3 ведрачтение архива из s3 ведра с использованием SCALA искры

кода я попытался

var ZipFileList = spark.sparkContext.binaryFiles(/path/); 

    var unit = ZipFileList.flatMap { 
     case (zipFilePath, zipContent) => 
      { 
      val zipInputStream = new ZipInputStream(zipContent.open()) 

      val zipEntry = zipInputStream.getNextEntry() 
      println(zipEntry.getName) 
      } 
     } 

но это дает ошибка блока требуется traversableOnce

val files = spark.sparkContext.wholeTextFiles(/path/)) 
    files.flatMap({case (name, content) => 
     unzip(content) //gives error "type mismatch; found : Unit required: scala.collection.GenTraversableOnce[?]" 
    }) 

есть ли другой способ, чтобы прочитать содержимое файла внутри zip-файл ... zip-файл содержит .json-файлы, и я хочу достичь, это прочитать и разобрать все эти файлы.

ответ

0

Вы фактически не возвращаете данные в команду unzip(), не так ли? Я думаю, что это часть проблемы

+0

есть ли способ распаковать zipEntry ??? – rahul

+0

не область, которую я испытывал ... вам придется делать свои собственные онлайн-исследования там, я боюсь –

+0

Ну, я получил один рабочий путь, сначала загрузив zip-файл, затем разархивировав его локально, а затем загрузив распакованный искрящаяся работа .. :) – rahul