我正在读取一个xml文件并将其转换为压缩的gzicode seq文件:
val xmlstrdf:Dataset[String] = spark.read.textFile("F:\\Spark_Xml_Poc\\CustomersOrdersInNamespace.xml")
xmlstrdf.rdd. map(x=>(NullWritable.get(),x)).saveAsSequenceFile("F:\\Spark_Xml_Poc\\seqxmlfile7",Some(classOf[GzipCodec]))
val seqFilesDs =spark.sparkContext.sequenceFile("F:\\Spark_Xml_Poc\\seqxmlfile7",classOf[NullWritable],classOf[Text])
seqFilesDs .count
以“读取压缩序列文件时异常”失败:
2007年1月1日16:09:39信息:resultstage 2(在sparkxmlpoc计数。scala:107)0.200秒内失败,原因是由于阶段失败而中止作业:阶段2.0中的任务0失败了1次,最近的失败:阶段2.0中的任务0.0丢失(tid 2,localhost,executor driver):java.io.ioexception:不是org.apache.hadoop.io.compress.zlib.builtingzipdecompressor.processbasicheader(builtingzipdecompressor)中的gzip文件。java:496)位于org.apache.hadoop.io.compress.zlib.builtingzipdecompressor.executeheaderstate(builtingzipdecompressor)。java:257)在org.apache.hadoop.io.compress.zlib.builtingzipdecompressor.decompress(内置zipdecompressor。java:186)在org.apache.hadoop.io.compress.decompressorstream.decompress(decompressorstream。java:91)在org.apache.hadoop.io.compress.decompressorstream.read(decompressorstream。java:85)在org.apache.hadoop.io.compress.decompressorstream.read(解压缩流。java:72)在java.io.datainputstream.readbyte(datainputstream。java:265)在org.apache.hadoop.io.writableutils.readvlong(writableutils。java:308)在org.apache.hadoop.io.writableutils.readvint(writableutils。java:329)
我可以读取非压缩的seq文件,但不能读取spark中的压缩seq文件。
暂无答案!
目前还没有任何答案,快来回答吧!