亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mapreduce程序中reduce的Iterable參數問題怎么解決

發布時間:2021-12-30 13:58:36 來源:億速云 閱讀:163 作者:iii 欄目:云計算

這篇文章主要講解了“Mapreduce程序中reduce的Iterable參數問題怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Mapreduce程序中reduce的Iterable參數問題怎么解決”吧!

今天在對reduce的參數Iterable進行迭代時,發現一個問題,即Iterator的next()方法每次返回的是同一個對象,next()只是修改了Writable對象的值,而不是重新返回一個新的Writable對象。

使用wordcount來驗證:

我的代碼如下:

protected void reduce(Text key, Iterable<IntWritable> values,
        Reducer<Text, IntWritable, Text, IntWritable>.Context context)
        throws IOException, InterruptedException {
    int sum = 0;

    // 保存每個IntWritable到list
    List<IntWritable> intWritables = new ArrayList<IntWritable>();

    for (IntWritable val : values) {
        intWritables.add(val);
        sum += val.get();
    }

    if(intWritables.size() > 1) {
        // 當list size大于1時,驗證第一個元素和第二個元素是否是同一個對象
        System.out.println("objects is same -> "
                + (intWritables.get(0) == intWritables.get(1)));
    }

    result.set(sum);
    context.write(key, result);
}

日志輸出:

objects is same -> true

這個Iterable的實現是org.apache.hadoop.mapreduce.task.ReduceContextImpl.ValueIterable

Iterator實現是org.apache.hadoop.mapreduce.task.ReduceContextImpl.ValueIterator

其中next()實現時,調用的是org.apache.hadoop.io.serializer.WritableSerialization的deserialize(Writable w)方法,

Writable deserialize(Writable w) IOException {
  Writable writable;
  (w == ) {
    writable 
      = (Writable) ReflectionUtils.(, getConf());
  } {
    writable = w;
  }
  writable.readFields();
  writable;
}

該方法只是調用了入參w的readFields方法,并沒有創建新對象,除非w是null

感謝各位的閱讀,以上就是“Mapreduce程序中reduce的Iterable參數問題怎么解決”的內容了,經過本文的學習后,相信大家對Mapreduce程序中reduce的Iterable參數問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聊城市| 鄂尔多斯市| 阳新县| 永登县| 阜平县| 阿勒泰市| 宜阳县| 奇台县| 莱西市| 越西县| 扎鲁特旗| 华宁县| 油尖旺区| 射阳县| 天长市| 马鞍山市| 南川市| 宾川县| 古浪县| 松潘县| 大竹县| 漯河市| 金坛市| 峨边| 巩留县| 乃东县| 弋阳县| 赤峰市| 湟源县| 宜春市| 阿城市| 四川省| 九台市| 大竹县| 资讯| 荣昌县| 达日县| 绥滨县| 永新县| 丰都县| 安顺市|