當前位置:編程學習大全網 - 編程軟體 - 如何簡單解釋 MapReduce 算法

如何簡單解釋 MapReduce 算法

map 根據輸入的映射函數,將壹個集合映射為另壹個集合,比如:

輸入集合為 {1,2,3,4,5},輸入的函數為 f(x) = x^2,那麽輸出的集合就是 {1,4,9,16,25}。

reduce 就是根據輸入的歸約函數,將集合(壹般指map輸出的集合)歸約,比如上面的輸出集合是?{1,4,9,16,25},假設我們的歸約函數是 f(x,y) = x + y, 那麽 reduce 的過程就是 ?{5,9,16,25}?->?{14,16,25} ->?{30,25} -> {55}。

我們使用 Java8 來描述這個過程:

int?result?=?IntStream.range(1,?6)?//?獲得集合?{1,2,3,4,5}

?.map(x?->?x?*?x)?//?映射為?{1,4,9,16,25}

?.reduce((x,?y)?->?x?+?y)?//?歸約

?.getAsInt();?//?獲得結果

System.out.println(result);

結果:

  • 上一篇:keil編程數碼管只顯示壹個數字proteus
  • 下一篇:湖北三環鍛造有限公司的公司簡介
  • copyright 2024編程學習大全網