You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by xeonmailinglist-gmail <xe...@gmail.com> on 2015/06/26 18:13:46 UTC

Invalid key type in the map task

Hi,

I have this map class that is accepting input files with a key as 
LongWritable and a value of Text.

The input file is in [1]. Here we can see that it contains a key as a 
Long (I think) and bytes as value.
In [2], it is my map class. The goal of the map class is to read the 
input data, and sent it out as it is.
I was expecting that the key was the index number, and the value was the 
gibberish. But, I am having a strange error [3], as the key is getting 
there a s Text, and not the index.

Can anyone tell me why I get this error, and how I can solve it?

[1] Input file

|xubuntu@hadoop-coc-1:~/Programs/hadoop$ hdfs dfs -cat /output1-1434970707/part-m-00000
15/06/26 12:01:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0    SEQ"org.apache.hadoop.io.BytesWritable"org.apache.hadoop.io.BytesWritableI���#HA��u��BZ��n��tXeX����zZi��ndFw�{>�H�\���Bi�'�gb�Y�a�*4�7;���uL_��gs���`��*
187    ����tAj#�5*nX�b"��>�˥k�c2�)�1z�1���6�l���Q�be3'$�G��!{��u����z@�t����v���r�gj8fq�P��.�m���y��n��!��֌�_w�U8e�����v0���S���2c�_�ջ�R\x*��
                                                                                                                                                              �܁���|x
                                                                                                                                                                        U�3���l���qaq�)�N��k�L��a�2�ն���k    NL
404    ��)i�g    A�2)L��W,���ܺ�V�w��M7ڭCϣ����ZI��be��$�f[���W�7��5�6.}�ѽb�    ����C��%|�h�lj�D}@F�"�(K��xh�'6
|

[2] My map class

|
     /** Identity mapper set by the user. */
     public static class MyFullyIndentityMapperWebdataScan
     extends Mapper<LongWritable, Text, LongWritable, Text>{

         //        private LongWritable word = new LongWritable();
         private LongWritable word = new LongWritable();
         private Text rvalue = new Text();

         public void map(LongWritable key, Text value, Context context
                 ) throws IOException, InterruptedException {

             System.out.println("1: " + key.getClass().getName() + " " + value.getClass().getName());
             System.out.println("2: " + context.getCurrentKey().getClass() + " " + context.getCurrentValue().getClass());
             context.write(key, value);
         }
     }
|

[3] Output of execution

|
              Log Type: stdout

              Log Upload Time: 26-Jun-2015 11:58:53

              Log Length: 138

1: org.apache.hadoop.io.LongWritable org.apache.hadoop.io.Text 2: class org.apache.hadoop.io.LongWritable class org.apache.hadoop.io.Text



              Log Type: syslog

              Log Upload Time: 26-Jun-2015 11:58:53

              Log Length: 4367

              Showing 4096 bytes of 4367 total. Click              here              for the full log.

operties from hadoop-metrics2.properties 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: MapTask metrics system started 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Executing with tokens: 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Kind: mapreduce.job, Service: job_1435332416394_0009, Ident: (org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier@5d7657) 2015-06-26 11:58:32,208 INFO [main] org.apache.hadoop.mapred.YarnChild: Sleeping for 0ms before retrying again. Got null now. 2015-06-26 11:58:32,439 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /tmp/hadoop-temp/nm-local-dir/usercache/xubuntu/appcache/application_1435332416394_0009 2015-06-26 11:58:32,611 INFO [main] org.apache.hadoop.conf.Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-26 11:58:33,038 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ] 2015-06-26 11:58:33,180 INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://hadoop-coc-1:9000/output1-1434970707/part-m-00000:0+17853 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584) 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 100 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 83886080 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 104857600 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 26214396; length = 6553600 2015-06-26 11:58:33,255 INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 2015-06-26 11:58:33,269 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output 2015-06-26 11:58:33,276 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1069)     at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:712)     at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)     at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:144)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:131)     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)     at java.security.AccessController.doPrivileged(Native Method)     at javax.security.auth.Subject.doAs(Subject.java:422)     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
|

​

-- 
--
Thanks,


Re: Invalid key type in the map task

Posted by Dieter De Witte <dr...@gmail.com>.
You need to show the driver class as well. Are you using textinputformat?
Are you aware that this standard inputformat will take as a value the
complete line (until newline separator), the key in that case is the
bitoffset in the file and definitely not the number you assume it will be.



2015-06-26 18:13 GMT+02:00 xeonmailinglist-gmail <xe...@gmail.com>
:

>  Hi,
>
> I have this map class that is accepting input files with a key as
> LongWritable and a value of Text.
>
> The input file is in [1]. Here we can see that it contains a key as a Long
> (I think) and bytes as value.
> In [2], it is my map class. The goal of the map class is to read the input
> data, and sent it out as it is.
> I was expecting that the key was the index number, and the value was the
> gibberish. But, I am having a strange error [3], as the key is getting
> there a s Text, and not the index.
>
> Can anyone tell me why I get this error, and how I can solve it?
>
> [1] Input file
>
> xubuntu@hadoop-coc-1:~/Programs/hadoop$ hdfs dfs -cat /output1-1434970707/part-m-00000
> 15/06/26 12:01:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
> 0    SEQ "org.apache.hadoop.io.BytesWritable"org.apache.hadoop.io.BytesWritableI���#HA��u��BZ � � n�� tX eX����zZi��n dFw�{>�H� \� ��Bi�'�g b�Y�a �*4�7;���uL_��gs�� �`�� *
> 187    ���� tAj#�5*nX�b " ��>�˥k�c2�)�1z�1� ��6�l��� Q  �be3'$ �G��!{� �  u����z@�t����v���r�gj8fq�P��.�m ��� y ��n��!��֌�_w�U8e�����v0���S���2c�_�ջ�R\x *��
>                                                                                                                                                                 �܁���|x
>                                                                                                                                                                        U�3���l���qa q� )�N ��k�L��a�2�ն���k    NL
> 404    ��)i �g    A�2 )L��W,���ܺ�V�w� �M7ڭCϣ����ZI�� be��$�f [�� � W� 7��5�6.}�ѽ  b�     ����C��%|�h�lj�D } @ F�"�(K ��xh�'6
>
> [2] My map class
>
>
>     /** Identity mapper set by the user. */
>     public static class MyFullyIndentityMapperWebdataScan
>     extends Mapper<LongWritable, Text, LongWritable, Text>{
>
>         //        private LongWritable word = new LongWritable();
>         private LongWritable word = new LongWritable();
>         private Text rvalue = new Text();
>
>         public void map(LongWritable key, Text value, Context context
>                 ) throws IOException, InterruptedException {
>
>             System.out.println("1: " + key.getClass().getName() + " " + value.getClass().getName());
>             System.out.println("2: " + context.getCurrentKey().getClass() + " " + context.getCurrentValue().getClass());
>             context.write(key, value);
>         }
>     }
>
> [3] Output of execution
>
>
>              Log Type: stdout
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 138
>
> 1: org.apache.hadoop.io.LongWritable org.apache.hadoop.io.Text 2: class org.apache.hadoop.io.LongWritable class org.apache.hadoop.io.Text
>
>
>
>              Log Type: syslog
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 4367
>
>              Showing 4096 bytes of 4367 total. Click              here              for the full log.
>
> operties from hadoop-metrics2.properties 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: MapTask metrics system started 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Executing with tokens: 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Kind: mapreduce.job, Service: job_1435332416394_0009, Ident: (org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier@5d7657) 2015-06-26 11:58:32,208 INFO [main] org.apache.hadoop.mapred.YarnChild: Sleeping for 0ms before retrying again. Got null now. 2015-06-26 11:58:32,439 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /tmp/hadoop-temp/nm-local-dir/usercache/xubuntu/appcache/application_1435332416394_0009 2015-06-26 11:58:32,611 INFO [main] org.apache.hadoop.conf.Configuration.deprecation:
>   session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-26 11:58:33,038 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ] 2015-06-26 11:58:33,180 INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://hadoop-coc-1:9000/output1-1434970707/part-m-00000:0+17853 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584) 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 100 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 83886080 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 104857600 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 26214396; length = 6553600 2015-06-26 11:58:33,255 INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 2015-06-26 11:
>  5
> 8:33,269 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output 2015-06-26 11:58:33,276 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1069)     at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:712)     at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)     at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:144)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:131)     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)     at org.apache.
>  h
> adoop.mapred.MapTask.runNewMapper(MapTask.java:784)     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)     at java.security.AccessController.doPrivileged(Native Method)     at javax.security.auth.Subject.doAs(Subject.java:422)     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
>
> ​
>
> --
> --
> Thanks,
>
>

Re: Invalid key type in the map task

Posted by Dieter De Witte <dr...@gmail.com>.
You need to show the driver class as well. Are you using textinputformat?
Are you aware that this standard inputformat will take as a value the
complete line (until newline separator), the key in that case is the
bitoffset in the file and definitely not the number you assume it will be.



2015-06-26 18:13 GMT+02:00 xeonmailinglist-gmail <xe...@gmail.com>
:

>  Hi,
>
> I have this map class that is accepting input files with a key as
> LongWritable and a value of Text.
>
> The input file is in [1]. Here we can see that it contains a key as a Long
> (I think) and bytes as value.
> In [2], it is my map class. The goal of the map class is to read the input
> data, and sent it out as it is.
> I was expecting that the key was the index number, and the value was the
> gibberish. But, I am having a strange error [3], as the key is getting
> there a s Text, and not the index.
>
> Can anyone tell me why I get this error, and how I can solve it?
>
> [1] Input file
>
> xubuntu@hadoop-coc-1:~/Programs/hadoop$ hdfs dfs -cat /output1-1434970707/part-m-00000
> 15/06/26 12:01:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
> 0    SEQ "org.apache.hadoop.io.BytesWritable"org.apache.hadoop.io.BytesWritableI���#HA��u��BZ � � n�� tX eX����zZi��n dFw�{>�H� \� ��Bi�'�g b�Y�a �*4�7;���uL_��gs�� �`�� *
> 187    ���� tAj#�5*nX�b " ��>�˥k�c2�)�1z�1� ��6�l��� Q  �be3'$ �G��!{� �  u����z@�t����v���r�gj8fq�P��.�m ��� y ��n��!��֌�_w�U8e�����v0���S���2c�_�ջ�R\x *��
>                                                                                                                                                                 �܁���|x
>                                                                                                                                                                        U�3���l���qa q� )�N ��k�L��a�2�ն���k    NL
> 404    ��)i �g    A�2 )L��W,���ܺ�V�w� �M7ڭCϣ����ZI�� be��$�f [�� � W� 7��5�6.}�ѽ  b�     ����C��%|�h�lj�D } @ F�"�(K ��xh�'6
>
> [2] My map class
>
>
>     /** Identity mapper set by the user. */
>     public static class MyFullyIndentityMapperWebdataScan
>     extends Mapper<LongWritable, Text, LongWritable, Text>{
>
>         //        private LongWritable word = new LongWritable();
>         private LongWritable word = new LongWritable();
>         private Text rvalue = new Text();
>
>         public void map(LongWritable key, Text value, Context context
>                 ) throws IOException, InterruptedException {
>
>             System.out.println("1: " + key.getClass().getName() + " " + value.getClass().getName());
>             System.out.println("2: " + context.getCurrentKey().getClass() + " " + context.getCurrentValue().getClass());
>             context.write(key, value);
>         }
>     }
>
> [3] Output of execution
>
>
>              Log Type: stdout
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 138
>
> 1: org.apache.hadoop.io.LongWritable org.apache.hadoop.io.Text 2: class org.apache.hadoop.io.LongWritable class org.apache.hadoop.io.Text
>
>
>
>              Log Type: syslog
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 4367
>
>              Showing 4096 bytes of 4367 total. Click              here              for the full log.
>
> operties from hadoop-metrics2.properties 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: MapTask metrics system started 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Executing with tokens: 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Kind: mapreduce.job, Service: job_1435332416394_0009, Ident: (org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier@5d7657) 2015-06-26 11:58:32,208 INFO [main] org.apache.hadoop.mapred.YarnChild: Sleeping for 0ms before retrying again. Got null now. 2015-06-26 11:58:32,439 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /tmp/hadoop-temp/nm-local-dir/usercache/xubuntu/appcache/application_1435332416394_0009 2015-06-26 11:58:32,611 INFO [main] org.apache.hadoop.conf.Configuration.deprecation:
>   session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-26 11:58:33,038 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ] 2015-06-26 11:58:33,180 INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://hadoop-coc-1:9000/output1-1434970707/part-m-00000:0+17853 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584) 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 100 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 83886080 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 104857600 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 26214396; length = 6553600 2015-06-26 11:58:33,255 INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 2015-06-26 11:
>  5
> 8:33,269 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output 2015-06-26 11:58:33,276 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1069)     at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:712)     at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)     at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:144)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:131)     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)     at org.apache.
>  h
> adoop.mapred.MapTask.runNewMapper(MapTask.java:784)     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)     at java.security.AccessController.doPrivileged(Native Method)     at javax.security.auth.Subject.doAs(Subject.java:422)     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
>
> ​
>
> --
> --
> Thanks,
>
>

Re: Invalid key type in the map task

Posted by Dieter De Witte <dr...@gmail.com>.
You need to show the driver class as well. Are you using textinputformat?
Are you aware that this standard inputformat will take as a value the
complete line (until newline separator), the key in that case is the
bitoffset in the file and definitely not the number you assume it will be.



2015-06-26 18:13 GMT+02:00 xeonmailinglist-gmail <xe...@gmail.com>
:

>  Hi,
>
> I have this map class that is accepting input files with a key as
> LongWritable and a value of Text.
>
> The input file is in [1]. Here we can see that it contains a key as a Long
> (I think) and bytes as value.
> In [2], it is my map class. The goal of the map class is to read the input
> data, and sent it out as it is.
> I was expecting that the key was the index number, and the value was the
> gibberish. But, I am having a strange error [3], as the key is getting
> there a s Text, and not the index.
>
> Can anyone tell me why I get this error, and how I can solve it?
>
> [1] Input file
>
> xubuntu@hadoop-coc-1:~/Programs/hadoop$ hdfs dfs -cat /output1-1434970707/part-m-00000
> 15/06/26 12:01:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
> 0    SEQ "org.apache.hadoop.io.BytesWritable"org.apache.hadoop.io.BytesWritableI���#HA��u��BZ � � n�� tX eX����zZi��n dFw�{>�H� \� ��Bi�'�g b�Y�a �*4�7;���uL_��gs�� �`�� *
> 187    ���� tAj#�5*nX�b " ��>�˥k�c2�)�1z�1� ��6�l��� Q  �be3'$ �G��!{� �  u����z@�t����v���r�gj8fq�P��.�m ��� y ��n��!��֌�_w�U8e�����v0���S���2c�_�ջ�R\x *��
>                                                                                                                                                                 �܁���|x
>                                                                                                                                                                        U�3���l���qa q� )�N ��k�L��a�2�ն���k    NL
> 404    ��)i �g    A�2 )L��W,���ܺ�V�w� �M7ڭCϣ����ZI�� be��$�f [�� � W� 7��5�6.}�ѽ  b�     ����C��%|�h�lj�D } @ F�"�(K ��xh�'6
>
> [2] My map class
>
>
>     /** Identity mapper set by the user. */
>     public static class MyFullyIndentityMapperWebdataScan
>     extends Mapper<LongWritable, Text, LongWritable, Text>{
>
>         //        private LongWritable word = new LongWritable();
>         private LongWritable word = new LongWritable();
>         private Text rvalue = new Text();
>
>         public void map(LongWritable key, Text value, Context context
>                 ) throws IOException, InterruptedException {
>
>             System.out.println("1: " + key.getClass().getName() + " " + value.getClass().getName());
>             System.out.println("2: " + context.getCurrentKey().getClass() + " " + context.getCurrentValue().getClass());
>             context.write(key, value);
>         }
>     }
>
> [3] Output of execution
>
>
>              Log Type: stdout
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 138
>
> 1: org.apache.hadoop.io.LongWritable org.apache.hadoop.io.Text 2: class org.apache.hadoop.io.LongWritable class org.apache.hadoop.io.Text
>
>
>
>              Log Type: syslog
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 4367
>
>              Showing 4096 bytes of 4367 total. Click              here              for the full log.
>
> operties from hadoop-metrics2.properties 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: MapTask metrics system started 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Executing with tokens: 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Kind: mapreduce.job, Service: job_1435332416394_0009, Ident: (org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier@5d7657) 2015-06-26 11:58:32,208 INFO [main] org.apache.hadoop.mapred.YarnChild: Sleeping for 0ms before retrying again. Got null now. 2015-06-26 11:58:32,439 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /tmp/hadoop-temp/nm-local-dir/usercache/xubuntu/appcache/application_1435332416394_0009 2015-06-26 11:58:32,611 INFO [main] org.apache.hadoop.conf.Configuration.deprecation:
>   session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-26 11:58:33,038 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ] 2015-06-26 11:58:33,180 INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://hadoop-coc-1:9000/output1-1434970707/part-m-00000:0+17853 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584) 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 100 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 83886080 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 104857600 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 26214396; length = 6553600 2015-06-26 11:58:33,255 INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 2015-06-26 11:
>  5
> 8:33,269 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output 2015-06-26 11:58:33,276 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1069)     at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:712)     at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)     at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:144)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:131)     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)     at org.apache.
>  h
> adoop.mapred.MapTask.runNewMapper(MapTask.java:784)     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)     at java.security.AccessController.doPrivileged(Native Method)     at javax.security.auth.Subject.doAs(Subject.java:422)     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
>
> ​
>
> --
> --
> Thanks,
>
>

Re: Invalid key type in the map task

Posted by Dieter De Witte <dr...@gmail.com>.
You need to show the driver class as well. Are you using textinputformat?
Are you aware that this standard inputformat will take as a value the
complete line (until newline separator), the key in that case is the
bitoffset in the file and definitely not the number you assume it will be.



2015-06-26 18:13 GMT+02:00 xeonmailinglist-gmail <xe...@gmail.com>
:

>  Hi,
>
> I have this map class that is accepting input files with a key as
> LongWritable and a value of Text.
>
> The input file is in [1]. Here we can see that it contains a key as a Long
> (I think) and bytes as value.
> In [2], it is my map class. The goal of the map class is to read the input
> data, and sent it out as it is.
> I was expecting that the key was the index number, and the value was the
> gibberish. But, I am having a strange error [3], as the key is getting
> there a s Text, and not the index.
>
> Can anyone tell me why I get this error, and how I can solve it?
>
> [1] Input file
>
> xubuntu@hadoop-coc-1:~/Programs/hadoop$ hdfs dfs -cat /output1-1434970707/part-m-00000
> 15/06/26 12:01:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
> 0    SEQ "org.apache.hadoop.io.BytesWritable"org.apache.hadoop.io.BytesWritableI���#HA��u��BZ � � n�� tX eX����zZi��n dFw�{>�H� \� ��Bi�'�g b�Y�a �*4�7;���uL_��gs�� �`�� *
> 187    ���� tAj#�5*nX�b " ��>�˥k�c2�)�1z�1� ��6�l��� Q  �be3'$ �G��!{� �  u����z@�t����v���r�gj8fq�P��.�m ��� y ��n��!��֌�_w�U8e�����v0���S���2c�_�ջ�R\x *��
>                                                                                                                                                                 �܁���|x
>                                                                                                                                                                        U�3���l���qa q� )�N ��k�L��a�2�ն���k    NL
> 404    ��)i �g    A�2 )L��W,���ܺ�V�w� �M7ڭCϣ����ZI�� be��$�f [�� � W� 7��5�6.}�ѽ  b�     ����C��%|�h�lj�D } @ F�"�(K ��xh�'6
>
> [2] My map class
>
>
>     /** Identity mapper set by the user. */
>     public static class MyFullyIndentityMapperWebdataScan
>     extends Mapper<LongWritable, Text, LongWritable, Text>{
>
>         //        private LongWritable word = new LongWritable();
>         private LongWritable word = new LongWritable();
>         private Text rvalue = new Text();
>
>         public void map(LongWritable key, Text value, Context context
>                 ) throws IOException, InterruptedException {
>
>             System.out.println("1: " + key.getClass().getName() + " " + value.getClass().getName());
>             System.out.println("2: " + context.getCurrentKey().getClass() + " " + context.getCurrentValue().getClass());
>             context.write(key, value);
>         }
>     }
>
> [3] Output of execution
>
>
>              Log Type: stdout
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 138
>
> 1: org.apache.hadoop.io.LongWritable org.apache.hadoop.io.Text 2: class org.apache.hadoop.io.LongWritable class org.apache.hadoop.io.Text
>
>
>
>              Log Type: syslog
>
>              Log Upload Time: 26-Jun-2015 11:58:53
>
>              Log Length: 4367
>
>              Showing 4096 bytes of 4367 total. Click              here              for the full log.
>
> operties from hadoop-metrics2.properties 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 2015-06-26 11:58:32,118 INFO [main] org.apache.hadoop.metrics2.impl.MetricsSystemImpl: MapTask metrics system started 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Executing with tokens: 2015-06-26 11:58:32,128 INFO [main] org.apache.hadoop.mapred.YarnChild: Kind: mapreduce.job, Service: job_1435332416394_0009, Ident: (org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier@5d7657) 2015-06-26 11:58:32,208 INFO [main] org.apache.hadoop.mapred.YarnChild: Sleeping for 0ms before retrying again. Got null now. 2015-06-26 11:58:32,439 INFO [main] org.apache.hadoop.mapred.YarnChild: mapreduce.cluster.local.dir for child: /tmp/hadoop-temp/nm-local-dir/usercache/xubuntu/appcache/application_1435332416394_0009 2015-06-26 11:58:32,611 INFO [main] org.apache.hadoop.conf.Configuration.deprecation:
>   session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-26 11:58:33,038 INFO [main] org.apache.hadoop.mapred.Task:  Using ResourceCalculatorProcessTree : [ ] 2015-06-26 11:58:33,180 INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://hadoop-coc-1:9000/output1-1434970707/part-m-00000:0+17853 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584) 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 100 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 83886080 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 104857600 2015-06-26 11:58:33,252 INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 26214396; length = 6553600 2015-06-26 11:58:33,255 INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 2015-06-26 11:
>  5
> 8:33,269 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output 2015-06-26 11:58:33,276 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1069)     at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:712)     at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)     at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:144)     at org.apache.hadoop.mapred.examples.MyWebDataScan$MyFullyIndentityMapperWebdataScan.map(MyWebDataScan.java:131)     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)     at org.apache.
>  h
> adoop.mapred.MapTask.runNewMapper(MapTask.java:784)     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)     at java.security.AccessController.doPrivileged(Native Method)     at javax.security.auth.Subject.doAs(Subject.java:422)     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
>
> ​
>
> --
> --
> Thanks,
>
>