如何从apachespark中的压缩(.zip)本地文件生成dataset/dataframe

zlwx9yxi  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

我有大的压缩(.zip)文件,每个大约10 gb。我需要读取zip中的文件内容而不解压缩它,并希望应用转换。

System.setProperty("HADOOP_USER_NAME", user)

   println("Creating SparkConf")
   val conf = new SparkConf().setAppName("DFS Read Write Test")

   println("Creating SparkContext")
   val sc = new SparkContext(conf)

   var textFile = sc.textFile(filePath)

   println("Count...."+textFile.count())

   var df = textFile.map(some code)

`当我传递any.txt、.log、.md等。。上面的工作正常。但是当pass.zip文件时,它的计数为零。
为什么它给零计数
如果我完全错了,请给我建议正确的方法。

ljo96ir5

ljo96ir51#

你必须像这样执行这个任务,这是一个不同的操作,然后只是加载spark支持的其他类型的文件。

val rdd  = sc.newAPIHadoopFile("file.zip", ZipFileInputFormat.class,Text.class, Text.class, new Job().getConfiguration());

相关问题