映射代码中的ArrayIndexOutOfBoundException

时间:2017-07-30 06:09:06

标签: hadoop

输入为div.sideBar { position: fixed; z-index: 1; height: 100%; max-width: 210px; width: 18%; overflow-y: scroll; }

在此,我想计算男性和女性的数量。当我使用拆分时,将每个性别字段分配给reducer显示1000:rohit:male:dev:2500

ArrayIndexOutOfBounfException:2

1 个答案:

答案 0 :(得分:1)

您正在做出危险的假设,即每个输入记录都采用1000:rohit:male:dev:2500形式。从您的错误中可以清楚地看出情况并非如此。坏数据总是需要考虑的因素。

事先考虑一些简单的输入验证:

String[] field = st.split(":");
if(ArrayUtils.getLength(field) == 5) {
    String st1 = field[2];
    context.write(new Text(st1), new LongWritable(1));
} else {
    //Consider printing "st" to see what the bad input looks like
}