如何在Linux上读取part-00000.deflate文件

时间:2018-07-21 13:45:13

标签: apache-spark

我使用以下代码编写了一个火花单词计数程序:

package com.practice

import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession

object WordCount {
  val sparkConf = new SparkConf()
  def main(args: Array[String]): Unit = {
    val spark   = SparkSession.builder().config(sparkConf).master("local[2]").getOrCreate()
    val input   = args(0)
    val output  = args(1)
    val text    = spark.sparkContext.textFile(input)
    val outPath = text.flatMap(line => line.split(" "))
    val words   = outPath.map(w => (w,1))
    val wc      = words.reduceByKey((x,y)=>(x+y))

    wc.saveAsTextFile(output)
  }
}

使用spark提交,我运行jar并在输出目录中获得输出:

SPARK_MAJOR_VERSION=2 spark-submit --master local[2] --class com.practice.WordCount sparkwordcount_2.11-0.1.jar file:///home/hmusr/ReconTest/inputdir/sample file:///home/hmusr/ReconTest/inputdir/output

输入和输出文件均位于本地而不是HFDS上。 在输出目录中,我看到两个文件:part-00000.deflate _SUCCESS。 输出文件以.deflate扩展名存在。我了解检查互联网后,输出已保存在压缩文件中,但是有什么办法可以读取该文件?

1 个答案:

答案 0 :(得分:1)

尝试这个。

cat part-00000.deflate | perl -MCompress :: Zlib -e'undef $ /;打印uncompress(<>)'