MapReduce: рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдЙрджрд╛рд╣рд░рдг, zaumi рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

рд╡рд┐рд▓рдВрдм рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рддреБрд░рдВрдд " MapReduce рд╡рд┐рджрд╛рдЙрдЯ рд░реБрдХреА " рд╡рд┐рд╖рдп рдореЗрдВ рд╡рд╛рджрд╛ рдХрд┐рдП рдЧрдП MapReduce рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдмрддрд╛рдКрдВрдЧрд╛ ред (рдпрджрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ MapReduce рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рд╡рд┐рд╖рдп рдХреЛ рдкрд╣рд▓реЗ рдкрдврд╝реЗрдВред рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗ)



рдЖрдЗрдП рдпрд╣рд╛рдВ рд╢рд╣рд░реЛрдВ рдореЗрдВ рд░рд╛рд╖реНрдЯреНрд░реАрдпрддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛, рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рдФрд╕рдд рдЧреНрд░реЗрдб рдФрд░ рдбреНрд░рд╛рдЗрд╡, TIC, рдкреЗрдЬрд░реИрдВрдХ, рдЗрдирдмрд╛рдЙрдВрдб рд▓рд┐рдВрдХ, рдЖрд▓рд╛ рдХреАрд╡рд░реНрдб, рд╕рдорд╛рдирд╛рд░реНрдердХ, рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЖрдкрд╕реА рджреЛрд╕реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЧрдгрд┐рддреАрдп рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рдЬрд╝реВрдореА рдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред



рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд┐рд╖рдп рд╣реА рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЖрдкрдХреЗ рджрд┐рдорд╛рдЧ рдХреЛ рддрдирд╛рд╡ рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реИред рдЬрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ - рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрдЧрд╛ред



рднреАрддрд░ рдХрд╛ рд▓рд┐рдВрдХ



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд▓рд┐рдВрдХ рд╣реИрдВред



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдордХрдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдРрд╕рд╛ рдбреЗрдЯрд╛ рд╣реИ:



habrahabr.ru -> thematicmedia.ru, apple.ru, microsoft.com, ubuntu.com, yandex.ru

thematicmedia.ru -> habrahabr.ru, autokadabra.ru

autokadabra.ru -> habrahabr.ru, yandex.ru








рдпрд╛рдиреА рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдмрд░ Apple, MS, Ubuntu рдФрд░ Yandex рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди Habr рдХреЛ рдХреМрди рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ? рд╣рд╛рдВ, рдкреНрд░рд╢реНрди рдЖрджрд┐рдо рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ MapReduce рдкрд░ рд╡рд┐рдШрдЯрд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЖрдЧреЗ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред



рдирдХреНрд╢рд╛ рдХрджрдо (рдЬреЛ рд╣рдо рдЦреБрдж рд▓рд┐рдЦрддреЗ рд╣реИрдВ) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

(рдПрдХ рдмрд╛рд░ рдлрд┐рд░ - рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ - " рдмрд┐рдирд╛ Zaumi рдХреЗ MapReduce рдкрдврд╝реЗрдВ")ред



рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ " //



" рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рдерд╛, рдореИрдкрд░реЗрдбреНрдпреВрд╕ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред




map("habrahabr.ru -> thematicmedia.ru, apple.ru, microsoft.com, ubuntu.com")



->

["thematicmedia.ru", "habrahabr.ru"] // thematicmedia.ru habrahabr.ru

["apple.ru", "habrahabr.ru"]

.....








map("thematicmedia.ru -> habrahabr.ru, autokadabra.ru")



->

["habrahabr.ru", "thematicmedia.ru"]

["autokadabra.ru", "thematicmedia.ru"]

....








"рдХрдо рдХрд░реЗрдВ" рдХрджрдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдирдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:



["autokadabra.ru", ["thematicmedia.ru"]]

["habrahabr.ru", ["thematicmedia.ru", "autokadabra.ru"]] <-- ,

....









рдпрд╣рд╛рдБ рдЬрд╡рд╛рдм рд╣реИ - рд▓рд┐рдВрдХрд┐рдВрдЧ рд▓рд┐рдВрдХред



TIC рдпрд╛ PageRank рдХреЛ рдХреМрди рд╕реА рд╕рд╛рдЗрдЯреЗрдВ рджреЗрддреА рд╣реИрдВ?



рдЕрд╣рд╣, рдЯреАрдЖрдИрд╕реА, рд▓рд┐рдВрдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХреА рдкрд╡рд┐рддреНрд░ рдХрдмреНрд░ ( рд▓рдЧрднрдЧ 2010)ред рдЪрд▓реЛ рд░реЗрдЯрд┐рдВрдЧ рдХреА рдХреБрдЫ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЗрдХрд╛рдИ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдореЗрдЧрд╛рд░реИрдВрдХ рдХрд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдЯреАрдЖрдИрд╕реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдкреЗрдЬрд░реИрдВрдХ, рдЖрджрд┐ - рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ)ред



рдРрд╕рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдорд╛рди рд▓реАрдЬрд┐рдП - рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореЗрдЧрд╛рд░реИрдВрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ рдХреБрдЫ рдорд╛рддреНрд░рд╛ рдореЗрдВ "рд╕рдВрдЪрд╛рд░рд┐рдд" рдХрд░рддрд╛ рд╣реИ, рдпрд╛ "рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ" рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдореЗрдЧрд╛рдХреИрдВрдХ рдХреЛ "рдорд╛рд░рддрд╛ рд╣реИ"ред рд╣рдо рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ MegaRank рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреИрд╕реЗ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд┐рддрдиреЗ MegaRank рдкреНрд░рд╕рд╛рд░рдг рдХрд░рддрд╛ рд╣реИ?



рдлрд┐рд░ рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рд╣реИ, рд╕рд╛рдЗрдЯ рдП рдореЗрдВ рдореЗрдЧрд╛рд░реИрдВрдХ 100 рд╣реИ рдФрд░ рд╕рд╛рдЗрдЯреЛрдВ рдмреА, рд╕реА, рдбреА рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рд╣реИрдВред рд╕рд╛рдЗрдЯ B рдореЗрдВ MegaRank 0 рд╣реИ (рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ MegaRank рдЦрд░рд╛рдм рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ "рдорд╛рд░рд╛ рдЧрдпрд╛" рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЦрд╛рд░рд┐рдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рд╕рд╛рдЗрдЯ A, D, E, F, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рд╣реИрдВ ...



рд╣рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рд╕рд╛рдЗрдЯ рдП рдХреЛ рдмреА, рд╕реА, рдбреА рд╕реЗ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рдЬреЛ 100 рдХреЗ рдмрд░рд╛рдмрд░ рд╢реБрд░реВ рд╣реБрдЖред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмреА, рд╕реА, рдбреА рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рд╕рд╛рдЗрдЯ рдП рдХреЛ 33 рдореЗрдЧрд╛ рдпреВрдирд┐рдЯ рджрд┐рдПред рд╕рд╛рдЗрдЯ рдмреА рдиреЗ рдореЗрдЧрд╛рд░реИрдВрдХ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рд╣реИ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдореЗрдЧрд╛рд░реИрдВрдХ = -500 рдФрд░ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд╣реБрдд рдХрдо рдЖрдВрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдореЗрдЧрд╛рдХреИрдВрдХ рдХреЛ рдорд╛рд░рддреЗ рд╣реИрдВ (рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рд╕рд╛рдЗрдЯ рдП рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЦрд░рд╛рдм рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рдЦреЛрдЬ рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ A, D, E, F рдиреЗ 500-4 = -125 = рдореЗрдЧрд╛рд░реИрдВрдХ рдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ B рдХреЛ рджреАрдВред



рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рдХреЛ рдХреИрд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рдП - рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ ...



рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рд╣реИ:



A (100) <- B,C,D // MegaRank=100 B,C,D

B (-500) <- A,D,E








рд╣рдорд╛рд░рд╛ "рдореИрдк" рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ:



рдП (100) <- рдмреА, рд╕реА, рдбреА:

B, 100/3 = 33 // B 33 MegaRank B A

C, 33

D, 33








рдмреА (-500) <- рдП, рдбреА, рдИ, рдПрдл:

A, -500/4 = -125

D, -125

E, -125

F, -125








рдХрдЯреМрддреА рдХреЗ рдХрджрдо рдкрд░ рдЖрддрд╛ рд╣реИ:



A (-125) // "" -125 MegaRank

B (33)

C (33)

D (33, -125) // "D" 33-125 = -92 MegaRank

E (-125)

F (-125)








рдХрдо рдХрд░реЗрдВ рдлрд┐рд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдП рд╕рдмрд╕реЗ рдмреЗрдХрд╛рд░ рд╕рд╛рдЗрдЯ рд╣реИ, рдЬреИрд╕реЗ рдИ, рдПрдл, рдЬреЛ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреЗрд╡рд▓ рд╢реВрдиреНрдп рдореЗрдЧрд╛рд░реИрдВрдХ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдбреА, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдП рдФрд░ рдмреА рджреЛрдиреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, "рд╕рдВрджрд┐рдЧреНрдз" рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдП рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред



рдЕрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рдореЗрдЧрд╛рд░реИрдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЬрд╝рд╛рдореА (рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рд╕рд╛рде рдХреНрд░рдордмрджреНрдз) рдХреЗ рдмрд┐рдирд╛ MapReduce рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд╖рд┐рдд рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ MapReduce рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ - рд╣рдо рдПрдХ рд╕рд╛рде рд▓рд╛рдЦреЛрдВ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЦреЛрдВ рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдорд╢реАрди рдкрд░ рднреА рд╕реАрдорд┐рдд рдореЗрдореЛрд░реА рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдорд╛рдирд╛рдВрддрд░ рд╢рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдорд╢реАрдиреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



(рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝реЗрдВ - рд╣рд╛рдБ, рдореИрдВрдиреЗ рдЯреАрдЖрдИрд╕реА рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЬрд╛рдБрдЪ рдХреА, рд╣рд╛рдБ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :) рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдЯреАрдЖрдИрд╕реА рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реБрдЪрд┐ рдХреЗ рд╣реИ)ред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд▓рд┐рдВрдХ рдкрд░ рдбреЗрдЯрд╛ рдФрд░ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ (TIC, PageRank), рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдпреЗ рд▓рд┐рдВрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИрдВ, рд╣рдо рдЙрди рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред



рд╢рд╣рд░реЛрдВ рдореЗрдВ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд



рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢рд╣рд░ рдХреЗ рдЬрд┐рд▓реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдХрд┐ 150 рд░реВрд╕реА, 190 рдмреЗрд▓рд╛рд░реВрд╕ рдХреЗ, 3 Udmurts Gorod1 рдХреЗ Gdetto рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ 3 Russians, 5 рдмреЗрд▓рд╛рд░реВрд╕ рдХреЗ рд▓реЛрдЧ Gorod1 рдХреЗ рдЯреБрдЯреНрдЯреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред



рдЕрдм рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рд╢рд╣рд░реЛрдВ рдореЗрдВ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реИ (рд╣рдо рдЗрди рд╢рд╣рд░реЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ)ред рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рд▓рд╛рдЦреЛрдВ рдЬрд┐рд▓реЗ, рдбреЗрдЯрд╛ рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╕рднреА рдПрдХ рд╕рд╛рде рдореЗрдореЛрд░реА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ ...



MapReduce рдкрд░ рдмрд╣реБрдд рд╕рд░рд▓:



┬лрдорд╛рдирдЪрд┐рддреНрд░┬╗:



map(" Gdetto Gorod1 150 , 190 , 3 ")



->

"gorod1", [ (150, ""), (190, ""), (3, "") ]







map(" Tutto Gorod1 3 , 5 ")



->

"gorod1", [ (3, ""), (5, "") ]







map(" Butto Gorod2 1 ")



->

"gorod2", [ (1, "") ]







┬лрдХрдо┬╗:



рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░:

"gorod1", [ (150, ""), (190, ""), (3, ""), (3, ""), (5, "") ]

// , -

"gorod2", [ (1, "") ]








рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдВрдЧреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╣рд░ рдореЗрдВ рд░рд╛рд╢рд┐ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВрдЧреЗред



рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВред



рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рд╛рдорд╛рдиреНрдп рдорд┐рддреНрд░ рд╣реИрдВ?



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдП, рдмреА, рд╕реА, рдбреА, рдИ - рд╕реЙрдХреЗрдЯ рдореЗрдВ рдлрд┐рдВрдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ 30 рдорд┐рд▓рд┐рдпрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐:



B, D, E

B A, D, E

C B, E








рд╣рдо рдХреИрд╕реЗ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рджреЛ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдорд┐рддреНрд░ рд╣реИрдВ?



рдмрд╣реБрдд рд╕рд░рд▓ (рдЕрдиреБрдорд╛рди?) MapReduceред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЬреЛрдбрд╝реЗ рдХреЛ рдмреНрд░реВрдЯ рдлрд╝реЛрд░реНрд╕ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддреЗ рд╣реИрдВред



┬лрдорд╛рдирдЪрд┐рддреНрд░┬╗:



(B,D), A // "" " B D"

(B,E), A

(D,E), A

(A,D), B

(A,E), B

(D,E), B

(B,E), C








"рдХрдо рдХрд░реЗрдВ" рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдЙрди рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреВрд╕рд░реЗ рддрддреНрд╡ рдХреЗ рдХрдИ рдореВрд▓реНрдп рд╣реИрдВ):



(A,D), (B) // "A,D" "B"

(A,E), (B)

(B,D), (A)

(B,E), (A,C) <-- - "B,E" "" ""

(D,E), (A,B) <--








рдЙрддреНрддрд░ рд╣реИ:



A рдФрд░ C рдХреЗ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдорд┐рддреНрд░ B, E рд╣реИрдВ

A рдФрд░ B рдХреЗ рдкрд░рд╕реНрдкрд░ рдорд┐рддреНрд░ D, E рд╣реИрдВ



рдЖрдХреНрдЯрдВрдЧ! Algortime O (n 2 ) , рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдЯреИрдВрдХ рдореЗрдВ рд╣реИрдВ, рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, рд╕реВрд░рдЬ рдирд┐рдХрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдЕрдЪреНрдЫреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ, рд▓реЗрдХрд┐рди рджреНрд╡рд┐рдШрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЦрд░рд╛рдм рд╣реИрдВред



рдХреАрд╡рд░реНрдб рдореЗрдВ рдЖрд▓рд╛ рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ



рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдХреАрд╡рд░реНрдб рд╣реИрдВ:























рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдЙрди рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ "рдЖрд▓рд╛" рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╢рдмреНрдж рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреАрд╡рд░реНрдб рд╣реИрдВ рдФрд░ рдЦреБрдж рдПрдХ рдХреАрд╡рд░реНрдб рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХреЙрдлреА рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ" рдПрдХ рд╡рд┐рд╖рдп рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ "рдХреЙрдлреА рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ" рдФрд░ "рдмрд╛рдмрд░рд╛рдм рдХреЙрдлреА рдирд┐рд░реНрдорд╛рддрд╛", рд▓реЗрдХрд┐рди "рдЧреЗрд░рд╛рдЬ" рдПрдХ рдЖрд▓рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдХреАрд╡рд░реНрдб рдирд╣реАрдВ рд╣реИрдВред "рдорд┐рд▓реЗ" рднреА рдПрдХ "рдЖрд▓рд╛" рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреАрд╡рд░реНрдб рдирд╣реАрдВ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЦреБрдж рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рд╡реИрд╕реЗ рдХреИрд╕реЗ? MapReduce рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ? :)



рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ (рдЕрдзрд┐рдорд╛рдирддрдГ рдПрди-рдЧреНрд░рд╛рдо рдореЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рдпрдВ рд╣реИ)ред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╣рдо "рдкреВрд░реНрдг" рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рд╢рдмреНрдж рдкреВрд░реА рд▓рд╛рдЗрди рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ "рднрд╛рдЧ" рдпрджрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рднрд╛рдЧ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ:



┬лрдорд╛рдирдЪрд┐рддреНрд░┬╗:



, PART // " "

, PART // " "

, FULL // ""

, FULL

, FULL

, PART

, PART

, PART

, FULL

, FULL








рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ "рдХрдо рдХрд░реЗрдВ":



, (PART, FULL)

, (FULL, PART, PART)

, (PART)

, (PART, FULL, FULL)

, (FULL)









рдЕрдм рд╣рдо рд╕рд┐рд░реНрдл рдпрд╣ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ PART рдФрд░ FULL рдХрд╣рд╛рдВ рд╣реИрдВ: "babrababr", "gates" рдФрд░ "рдХреЙрдлреА рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ" - рд╣рдо рдЬреЛ рдЦреЛрдЬ рд░рд╣реЗ рдереЗ рд╡рд╣ рд╣рдорд╛рд░реЗ "niches" рдереЗред



рдЫрджреНрдо рд╢рдмреНрдж рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рд╣реИред рдорд╛рдирд╛ рдХрд┐ рд╡рд╣рд╛рдВ рдХрдИ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ "рдПрдХ рдмрдбрд╝рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдЦрд░реАрджрд╛", "рдПрдХ рдорд╣рдВрдЧрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдЦрд░реАрджрд╛" рдЬреИрд╕реЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реИрдВ ... рдпрд╣рд╛рдБ рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ "рдорд╣рдВрдЧрд╛" рдФрд░ "рдмрдбрд╝рд╛" рдЫрджреНрдо рд╕рдорд╛рдирд╛рд░реНрдереА рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ рдЦрд░рд╛рдм рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдФрд░ рд╡реЗрдмрдХреИрд╢ рдХрдорд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЧреЛрдЯреВ рдЦреЛрдЬ рдЗрдВрдЬрди рд╣рдорд╛рд░реА рдЦрд░рд╛рдм рд╕рд╛рдЗрдЯ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред



рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрд░рдмреЛрдВ рд╢рдмреНрдж рд╣реИрдВ, рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдореГрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рд╛рдВ, рдФрд░ рдпрд╣ "рдХрд▓ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдЦрд░реАрджрд╛" рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ "рдХрд▓" тАЛтАЛрдмрд┐рд▓реНрдХреБрд▓ "рдмрдбрд╝рд╛" рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдЧрд▓рддреА рд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдорд┐рд▓ рдЧрдпрд╛ ... рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдХреНрдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рдкрддреНрдерд░реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рднреА рдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдерд╛)ред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!



рд╣рдо рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣рдо рдЗрд╕рдореЗрдВ рд╕реЗ рддреАрди рд╢рдмреНрджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдмреНрдпрд╛рдЬ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

" "

" "

" "

" "

" "








рдЪрд░рдг 1 (рд╣рдореЗрдВ рджреЛ рдЪрд░рдгреЛрдВ рдХреЗ рдХреИрд╕реНрдХреЗрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА):



┬лрдорд╛рдирдЪрд┐рддреНрд░┬╗:



" * ", "" // " "

" * ", "" // " "

" * ", ""

" * ", ""

" * ", ""








рдПрдХ рддрд╛рд░рд╛рдВрдХрди рд╕рд┐рд░реНрдл рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдХреЛрдИ рднреА рд╢рдмреНрдж рдпрд╣рд╛рдБ рд╣реИ," рддрд╛рдХрд┐ Reduce рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдП:



" * ", ["", "", ""]

// "" ""



" * ", ["", ""]








рдХрдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ред



рд╕реНрдЯреЗрдЬ 2 (рдХреИрд╕реНрдХреЗрдб):



"рдореИрдк" - рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореВрд▓реНрдпреЛрдВ (["рдмрдбрд╝рд╛", "рдХрд▓", "рдкреНрд░рд┐рдп"]) рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рджреЗрддрд╛ рд╣реИ:



, // ["", "", ""]

, // ["", "", ""]

, // ["", "", ""]

, // ["", "", ""]

, // ["", "", ""]

, // ["", "", ""]



, // ["", ""]

, // ["", ""]








рдХрдо рдХрд░рдиреЗ рдкрд░, рд╡реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЖрдПрдВрдЧреЗ:



, (, , )

, (, )

, (, , )








рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ рдХрд┐ рдХрд╣реАрдВ рдЙрджреНрдзрд░рдг рд╣реИрдВ, рдХрд╣реАрдВ рдкрд░ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЧреБрдкреНрдд рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЗрд╕реЗ рдХрд╣реАрдВ рд░рдЦ рджреЗрдВ, рдХрд╣реАрдВ рдирд╣реАрдВред



рдЕрдм "рдХрдореА" рдХреЗрд╡рд▓ рд╢рдмреНрджреЛрдВ рдХреЛ рдХреЛрд╖реНрдардХ (рдЗрд╕рдХреЗ рддрд░реНрдХ рдХрд╛ рджреВрд╕рд░рд╛ рддрддреНрд╡) рдореЗрдВ рдЧрд┐рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдЧрд╛ рдФрд░ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рддреНрдпрд╛рдЧ рджреЗрдЧрд╛ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ:



- (2) // "" - "", 2

- (2)








рдЖрдХреНрдЯрдВрдЧ! рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди 2 ) рдлрд┐рд░ рд╕реЗ!



рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ



рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ MapReduce рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрддрд╛ рджреЗрдВ рдХрд┐ рдПрдХ рдореИрдкрд░реЗрдбреНрдпреВрд╕ рдПрдХ рджрд░реНрдЬрди рд╢рд┐рдХреНрд╖рдХ рдкрддреНрд░рд┐рдХрд╛рдУрдВ рдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рдФрд╕рдд рдЧреНрд░реЗрдб рдХреЛ рдФрд╕рдд рдорд╛рдирддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╡реНрдпрдХреНрддрд┐ рд╕реИрдХрдбрд╝реЛрдВ рдкреБрд▓рд┐рд╕ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдкреБрд▓рд┐рд╕ рдХреЛ рдЫрд╛рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╣рдо рджреЛ MapReduce рдХреЛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдХреИрд╕реЗ рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, INNER JOIN рдпрд╛ OUTER JOIN рдХрд░реЗрдВред



рдкрд╣рд▓рд╛ MapReduce рдЙрддреНрдкрд╛рджрди (рд╕реНрдХреЛрд░):

, ("", 3.5)







рдФрд░ рджреВрд╕рд░рд╛ MapReduce рдЙрддреНрдкрд╛рджрд┐рдд (рдбреНрд░рд╛рдЗрд╡):

, ("", 2)







рдлрд┐рд░ рд╕реАрдзреЗ рд╕реАрдзреЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдпрд╣ рд╕рдм рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдВ:

, ("", 3.5)

, ("", 2)








рдлрд┐рд░ "рдХрдо" рдкрд░ рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛:

, [ ("", 3.5), ("", 2) ]







рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп



рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ MegaRanks, niches, friends, synonyms, рд░рд╛рд╖реНрдЯреНрд░, twosomes рдХреЗрд╡рд▓ MapReduce рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рджреВрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореБрдЭреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд┐рд▓реЗ рд╣реИрдВ рдФрд░ рд╣рд░ рд╕рдордп рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред



рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛ - рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА SQL рдХреНрд╡реЗрд░реА рдХреЛ MapReduce рдкрд░ рд╡рд┐рдШрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдмрд╕ рдереЛрдбрд╝рд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЗрддрд╛ рд╣реИред рдХреНрдпреЛрдВ? рдлрд┐рд░, рддреЗрдЬ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ, SQL рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдирдкреБрдЯ рд▓рд╛рдЗрди рд╕реЗ n- рдЧреНрд░рд╛рдо (рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢) рдХрд╛ рдПрдХ рд╣реА рдЬрдирд░реЗрдЯрд░ ... рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ MapReduce рдПрдХ рдбреНрд░реЙрдк рдбреЗрдб рд╣реИ рдФрд░ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ (рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЪрддреБрд░рд╛рдИ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд░реНрдгрд┐рдд) рдПрдХ рддрдереНрдп рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ MapReduce рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЦреАрдВрдЪрдирд╛ рд╕рдВрднрд╡ рдерд╛ред



рдЕрдВрддрд┐рдо рд╡рд┐рд╖рдп рдореЗрдВ, рдкрд╛рдпрдерди рдФрд░ рдкреАрдПрдЪрдкреА рдореЗрдВ рдореИрдкрд░реЗрдбреНрдпреВрд╕ рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред



рдпреЛрдп рд╣рд╛рдЬреА

рджреЗрдЦреЗрдВ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╣реИрдмрд░ рд╕реЗ ,

2010



(рдХрд┐рд╕реА рджрд┐рди рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдордЭрд╛рдирд╛ рд╕реАрдЦреВрдВрдЧрд╛ ....)



All Articles