输入为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
答案 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
}