Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
Poslední revize Obě strany příští revize
kj:mapreduce [24.08.2017 12:15]
kj vytvořeno
kj:mapreduce [31.08.2017 16:53]
kj
Řádek 15: Řádek 15:
   * Ale často nás klíč vůbec nezajímá! Je to třeba offset souboru   * Ale často nás klíč vůbec nezajímá! Je to třeba offset souboru
   * Klíč se může libovolně opakovat, hodnota může být různá   * Klíč se může libovolně opakovat, hodnota může být různá
-  * Data jsou na konci setříděna podle klíče (zpravidla, ne vždy) 
   * Typicky probíhá v mnoha paralelních jobech   * Typicky probíhá v mnoha paralelních jobech
       * Každý soubor, resp. split je zpracován samostatným mapperem       * Každý soubor, resp. split je zpracován samostatným mapperem
Řádek 27: Řádek 26:
       * A pak musí data přenést (síť)       * A pak musí data přenést (síť)
   * Setřídí data podle klíče (merge)   * Setřídí data podle klíče (merge)
-  * Optimalizace – malá data pošle rovnou do reduceru, velká merguje +  * Optimalizace – malá data pošle rovnou do reduceru, velká merguje na lokálním disku
-na lokálním disku+
   * Typicky nejnáročnější operace   * Typicky nejnáročnější operace
  
 Reduce Reduce
-  * Čte produkovaná pomocí Shuffle & Sort+  * Čte produkovaná ​data pomocí Shuffle & Sort 
 +  * všechny dvojice klíč/​hodnota se stejným klíčem jdou do stejného reduceru
   * „Redukuje“ list hodnot čtených z výstupy Shuffle & Sort   * „Redukuje“ list hodnot čtených z výstupy Shuffle & Sort
   * Zpravidla je reducerů (řádově) méně než mapperů   * Zpravidla je reducerů (řádově) méně než mapperů
Řádek 55: Řádek 54:
       * chci znát nějaké specifické rozdělení (např. věkové kategorie)       * chci znát nějaké specifické rozdělení (např. věkové kategorie)
       * mám velmi nevyvážené klíče (jeden klíč se vyskytuje abnormálně často)       * mám velmi nevyvážené klíče (jeden klíč se vyskytuje abnormálně často)
 +  * klíče jsou z shuffle&​sort poslány do partitioneru,​ který rozhoduje, do kterého reduceru půjde
 +  * Partitioner je funkce, která hashuje klíč a vezme modulo tohoto hashe a počtu reduceru, aby zjistil, který reducer dostane daný pár klíč-hodnota. jelikož hash jednoho klíče bude pořád stejný, všechny páry klíč-hodnota se stejným klíčem budou poslány do stejného reduceru
  
  
kj/mapreduce.txt · Poslední úprava: 18.09.2017 15:50 autor: kj