package com.HadoopExpert;
import java.io.IOException;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class SumMapper extends Mapper<LongWritable, Text,Text,IntWritable>{
public void map(LongWritable key, Text value, Context con) throws IOException, InterruptedException{
String s = value.toString();
String[] words = s.split(",");
String gender = words[4];
int sal = Integer.parseInt(words[2]);
con.write(new Text(gender), new IntWritable(sal));
}
}
это мой класс картографа код я хочу получать массив по индексу т получить EROR aarray из связанного индекса Thanx заранееjava.lang.ArrayIndexOutOfBoundsException во время выполнения
Не могли бы вы представить, как выглядят данные в файле, который вы читаете? –
помните, что нумерация начинается с 0, а не 1. Таким образом, четвертым элементом массива 'words' является' words [3] ', а не' words [4] '. – vefthym
101, Ахмед, 30000, M, USA, 1001 102, Сагар, 40000, M, Индия, 1002 103, Санита, 30000, F, Singapur, 1002 104, Кишор, 30000, M, Индия, 1003 105 , nandu, 30000, M, India, 1004 106, Ahmed, 30000, M, India, 1005 107, kranti, 20000, M, India, 1006 108, ravi, 80000, M, India, 1007 109, Nikita , 30000, F, Индия, 1008 110, ayaz, 30000, M, malasiya, 1006 111, pinky, 30000, M, India, 1005 101, rafi, 70000, M, India, 1003 111, mamta, 90000 , F, canada, 1009 – sagar