1

我需要一个 reducer 来遍历一个数组并分配每个元素(总共 2 个元素)。但是我的代码是否采用所有值并将其简单地分配给键?

例如这里:

     public void reduce(Text key, Iterator<Text[]> values,
     OutputCollector<Text, Text[]> output, Reporter reporter)
     throws IOException {

这种方法是否只是将我的所有数组转储到值桶中?

有没有办法使用 While 循环来获取 Text[] 的每个元素并将其分配给一个 int?

这是我的开始:

      while (values.hasNext()){
                String AtBats = values.toString();
                int AB = Integer.parseInt(AtBats);

这将采用每个值并使其成为 AtBat,但我希望第二个元素成为 Hit。对如何实现这一点感到困惑。

4

1 回答 1

6

据我从您的回复中了解到,您希望获取您的值,然后将它们解析为字符串。

你把所有东西都写下来了,但我建议你内联 AtBats 并将其作为

int AB = Integer.parseInt(values.toString());

更新:经过讨论后,我们得出结论,传递一个数组并循环遍历它是多余的。

而不是传递具有两个值的数组,然后使用 while 循环来遍历它并将其值分配给两个变量,只需独立地传递这些值。

于 2015-03-24T19:06:09.190 回答