Hadoop 在MapReduce中读取.tar.gz文件时输出异常

Hadoop 在MapReduce中读取.tar.gz文件时输出异常,hadoop,mapreduce,Hadoop,Mapreduce,请对我放松一点,因为我是hadoop和MapReduce的新手 我有一个.tar.gz文件,我正试图通过使用CompressionCodeFactory编写自定义InputFormatter来使用mapReduce读取该文件 我在互联网上读到一些文件,CompressionCodecFactory可以用来读取.tar.gz文件。因此,我在代码中实现了这一点 运行代码后得到的输出是绝对的垃圾 下面提供了我的输入文件的一部分: "MAY 2013 KOTZEBUE, AK" "RA

请对我放松一点,因为我是hadoop和MapReduce的新手

我有一个.tar.gz文件,我正试图通过使用CompressionCodeFactory编写自定义InputFormatter来使用mapReduce读取该文件

我在互联网上读到一些文件,CompressionCodecFactory可以用来读取.tar.gz文件。因此,我在代码中实现了这一点

运行代码后得到的输出是绝对的垃圾

下面提供了我的输入文件的一部分:

"MAY 2013          KOTZEBUE, AK"
"RALPH WIEN MEMORIAL AIRPORT (PAOT)"
"Lat:66° 52'N   Long: 162° 37'W   Elev (Ground) 30 Feet"
"Time Zone : ALASKA           WBAN: 26616    ISSN#: 0197-9833"
01,21,0,11,-11,3,11,54,0," ",4,  ,0.0,0.00,30.06,30.09,10.2,36,10.0,25,360,22,360,01
02,25,3,14,-9,5,12,51,0," ",4,  ,0.0,0.00,30.09,30.11,6.1,34,7.7,16,010,14,360,02
03,21,1,11,-12,7,11,54,0," ",4,  ,0.0,0.00,30.14,30.15,5.0,28,6.0,17,270,16,270,03
04,20,8,14,-10,11,13,51,0,"SN BR",4,  ,.001,.0001,30.09,30.11,8.6,26,9.2,20,280,15,280,04
05,29,19,24,-1,21,23,41,0,"SN BR",5,  ,0.6,0.06,30.11,30.14,8.1,20,8.5,22,240,20,240,05
06,27,19,23,-3,21,23,42,0,"SN BR",4,  ,0.1,0.01,30.14,30.15,8.7,19,9.4,18,200,15,200,06
我得到的输出非常奇怪:

��@(���]�OX}�s���{Fw8OP��@ig@���e�1L'�����sAm�
��@���Q�eW�t�Ruk�@��AAB.2P�V��    \L}��+����.֏9U]N �)(���d��i(��%F�S<�ҫ  ���EN��v�7�Y�%U�>��<�p���`]ݹ�@�#����9Dˬ��M�X2�'��\R��\1-    ���V\K1�c_P▒W¨P[Ö␤ÍãÏ2¨▒;O
��@(���]�OX}�s���{Fw8OP��@免疫球蛋白@���E�1L'�����山姆�

��@���Q�电子战�T�鲁克�@��AAB.2P�v�� \L}��+����.֏9U]N�)(���D��我(��%F�s�� 有用于
.gz
的编解码器,但没有用于
.tar
的编解码器


您的
.tar.gz
正在被解压缩为
.tar
,但它仍然是一个,Hadoop系统无法理解。

有一个用于
.gz
的编解码器,但没有用于
.tar
的编解码器


您的
.tar.gz
正在被解压缩为
.tar
,但它仍然是一个,Hadoop系统无法理解。

有一个用于
.gz
的编解码器,但没有用于
.tar
的编解码器


您的
.tar.gz
正在被解压缩为
.tar
,但它仍然是一个,Hadoop系统无法理解。

有一个用于
.gz
的编解码器,但没有用于
.tar
的编解码器


您的
.tar.gz
正在解压为
.tar
,但它仍然是一个文件,Hadoop系统无法理解。

您的代码可能卡在mapper和reducer类通信中,要在MapReduce中使用压缩文件,您需要为您的作业设置一些配置选项。这些类 必须在驱动程序类中设置:

conf.setBoolean("mapred.output.compress", true);//Compress The Reducer Out put
conf.setBoolean("mapred.compress.map.output", true);//Compress The Mapper Output
conf.setClass("mapred.output.compression.codec",
codecClass,
CompressionCodec.class);//Compression codec for Compresing mapper output
使用未压缩的MapReduce作业与使用 压缩IO是这三条带注释的行

I read some document over Internet that CompressionCodecFactory can be used to read a .tar.gz file. hence I implemented that in my code.

即使是压缩编解码器也做得更好,但有很多编解码器用于此目的,其中大多数是LzopCodec和SnappyCodec,用于可能的大数据。您可以在此处找到LzopCodec的Git:

您的代码可能卡在mapper和reducer类通信中,要在MapReduce中使用压缩文件,您需要设置一些配置选项这是为了你的工作。这些课程 必须在驱动程序类中设置:

conf.setBoolean("mapred.output.compress", true);//Compress The Reducer Out put
conf.setBoolean("mapred.compress.map.output", true);//Compress The Mapper Output
conf.setClass("mapred.output.compression.codec",
codecClass,
CompressionCodec.class);//Compression codec for Compresing mapper output
使用未压缩的MapReduce作业与使用 压缩IO是这三条带注释的行

I read some document over Internet that CompressionCodecFactory can be used to read a .tar.gz file. hence I implemented that in my code.

即使是压缩编解码器也做得更好,但有很多编解码器用于此目的,其中大多数是LzopCodec和SnappyCodec,用于可能的大数据。您可以在此处找到LzopCodec的Git:

您的代码可能卡在mapper和reducer类通信中,要在MapReduce中使用压缩文件,您需要设置一些配置选项这是为了你的工作。这些课程 必须在驱动程序类中设置:

conf.setBoolean("mapred.output.compress", true);//Compress The Reducer Out put
conf.setBoolean("mapred.compress.map.output", true);//Compress The Mapper Output
conf.setClass("mapred.output.compression.codec",
codecClass,
CompressionCodec.class);//Compression codec for Compresing mapper output
使用未压缩的MapReduce作业与使用 压缩IO是这三条带注释的行

I read some document over Internet that CompressionCodecFactory can be used to read a .tar.gz file. hence I implemented that in my code.

即使是压缩编解码器也做得更好,但有很多编解码器用于此目的,其中大多数是LzopCodec和SnappyCodec,用于可能的大数据。您可以在此处找到LzopCodec的Git:

您的代码可能卡在mapper和reducer类通信中,要在MapReduce中使用压缩文件,您需要设置一些配置选项这是为了你的工作。这些课程 必须在驱动程序类中设置:

conf.setBoolean("mapred.output.compress", true);//Compress The Reducer Out put
conf.setBoolean("mapred.compress.map.output", true);//Compress The Mapper Output
conf.setClass("mapred.output.compression.codec",
codecClass,
CompressionCodec.class);//Compression codec for Compresing mapper output
使用未压缩的MapReduce作业与使用 压缩IO是这三条带注释的行

I read some document over Internet that CompressionCodecFactory can be used to read a .tar.gz file. hence I implemented that in my code.

即使压缩编解码器也比压缩编解码器做得更好,但有很多用于此目的的编解码器,其中大多数是LzopCodec和SnappyCodec,用于可能的大数据。您可以在此处找到LzopCodec的Git:

System.out.println(新的压缩编解码器工厂(作业运行).toString()的输出内容
?可能您只是没有用于
zg.rat.
的编解码器。
System.out.println(新压缩编解码器工厂(作业运行).toString())的输出;
?可能您只是没有用于
zg.rat.
的编解码器。
System.out.println(新压缩编解码器工厂(作业运行).toString())的输出是什么
?可能您只是没有用于
zg.rat.
System.out.println(新的CompressionCodeFactory(job_run).toString())的编解码器;
?可能您只是没有用于
zg.rat.
的编解码器。