如何在apache spark中从压缩(.zip)本地文件创建数据集/数据帧

时间:2016-06-24 07:23:07

标签: hadoop apache-spark zip

我有大约10 GB的大型压缩(.zip)文件。我需要在不解压缩的情况下阅读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)

` 当我传递任何.txt,.log,.md等以上工作正常。但是当传递.zip文件时,它会给出Zero Count。

  1. 为什么要给零点数
  2. 如果我完全错了,请建议我这样做的正确方法。

1 个答案:

答案 0 :(得分:0)

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

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