spark 在 HDFS 中读取 zip 文件的内容
spark read contents of zip file in HDFS
我正在尝试从 zip 文件中读取数据
可以读取整个文本文件如下
val f = sc.wholeTextFiles("hdfs://")
但不知道如何读取 zip 文件中的文本数据
有什么办法可以做到,如果有请告诉我。
您可以使用 newAPIHadoopFile 命令从 zipFile 创建 RDD。
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())
我正在尝试从 zip 文件中读取数据
可以读取整个文本文件如下
val f = sc.wholeTextFiles("hdfs://")
但不知道如何读取 zip 文件中的文本数据
有什么办法可以做到,如果有请告诉我。
您可以使用 newAPIHadoopFile 命令从 zipFile 创建 RDD。
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())