искра прочитать содержимое zip-файла в HDFS

Я пытаюсь прочитать данные из zip-файла

можно прочитать весь текстовый файл, как показано ниже

val f = sc.wholeTextFiles("hdfs://")

но не знаю, как читать текстовые данные внутри zip файла

Есть ли возможный способ сделать это, если да, пожалуйста, дайте мне знать.


person sande    schedule 23.08.2018    source источник


Ответы (1)


Вы можете создать RDD из zip-файла с помощью команды newAPIHadoopFile.

import com.cotdp.hadoop.ZipFileInputFormat
import org.apache.hadoop.io.BytesWritable
import org.apache.hadoop.io.Text
import org.apache.hadoop.mapreduce.Job

val zipFileRDD = sc.newAPIHadoopFile(
        "hdfs://tmp/sample_zip/LoanStats3a.csv.zip",
        classOf[ZipFileInputFormat],
        classOf[Text],
        classOf[BytesWritable],
        new Job().getConfiguration())
println("The file contents are: " + zipFileRDD.map(s => new String(s._2.getBytes())).first())
person Roy Miller    schedule 24.08.2018
comment
Большое спасибо, именно это я и искал - person sande; 24.08.2018