рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛: "рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдФрд░ Hadoop рдХреЗ рд╕рд╛рде рдХрд┐рддрдирд╛ рдЕрдиреБрднрд╡ рд╣реИ?" рдореИрдВрдиреЗ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЕрдХреНрд╕рд░ Hadoop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣реА рдХрднреА - рдХреБрдЫ рдЯреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рдеред рдореИрдВ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ - рдореИрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд╣реАрдВред
рдЕрдЧрд▓рд╛ рд╕рд╡рд╛рд▓ рдерд╛: "рдХреНрдпрд╛ рдЖрдк рд╣рд╛рдбреЛрдк рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдореВрд╣ рдФрд░ рд░рд╛рд╢рд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?" рдмреЗрд╢рдХ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВрдиреЗ рдПрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкреВрдЫрд╛ред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рд╕рднреА 600 рдПрдордмреА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рд╕реМрдВрдк рджрд┐рдпрд╛ (рд╣рд╛рдВ, рдпрд╣ рд╕рднреА рдбреЗрдЯрд╛ рдерд╛, рдирдореВрдирд╛ рдирд╣реАрдВ)ред рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдореЗрд░реЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рдирд╣реАрдВ рдереЗ рдЬрд┐рд╕рдореЗрдВ
pandas.read_csv
рдерд╛ рдФрд░ рдХреЛрдИ Hadoop рдирд╣реАрдВ рдерд╛ред
Hadoop рдЖрдкрдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред Hadoop рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЫрджреНрдо рдХреЛрдб рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
Scala:
collection.flatMap( (k,v) => F(k,v) ).groupBy( _._1 ).map( _.reduce( (k,v) => G(k,v) ) )
SQL:
SELECT G(...) FROM table GROUP BY F(...)
рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕рдордЭрд╛рдпрд╛:
рдЙрджреНрджреЗрд╢реНрдп: рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдкреБрд╕реНрддрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ред
рдирдХреНрд╢рд╛: рдЖрдк рд╡рд┐рд╖рдо рд░реЗрдЬрд┐рдореЗрдВрдЯреЛрдВ рдХреА рдЧрд┐рдирддреА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рднреА (рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИрдВ, рдЙрддрдиреА рд╣реА рддреЗрдЬреА рд╕реЗ рд╣рдо рдЗрд╕ рднрд╛рдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВрдЧреЗ)ред
рдХрдо рдХрд░реЗрдВ: рд╣рдо рдПрдХ рд╕рд╛рде рдорд┐рд▓реЗрдВрдЧреЗ рдФрд░ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд░рд╛рд╢рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
рдЗрд╕ рдЧрдгрдирд╛ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬрд╝
F(k,v)
рдФрд░
G(k,v)
ред рдЦреИрд░, рдордзреНрдпрд╡рд░реНрддреА рдЧрдгрдирд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди (рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рд╕реБрдЦрдж рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ) рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╕рдЦреНрддреА рд╕реЗ рддрдп рд╣реИред
рд╣рдбреВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЧрдгрдирд╛ рдкрд░рд┐рд╡рд░реНрддрди, рд╕рдореВрд╣рди рдФрд░ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛рдПред рдРрд╕реА рдЧрдгрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рдЕрднреА рднреА рдЕрдиреБрдорддрд┐ рд╣реИред рдХрдИ рдЧрдгрдирд╛ рдЗрд╕ Procrustean рдмрд┐рд╕реНрддрд░ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдЫреЛрдЯреЗ рдкрд░рд┐рдорд╛рдг рдХреЗ рдХрдИ рдЖрджреЗрд╢ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ Hadoop рдФрд░ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рдлреИрд╢рдиреЗрдмрд▓ рд╢рдмреНрдж рд╣реИрдВ, рдЖрдзреА рджреБрдирд┐рдпрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЗрд╕ рдмрд┐рд╕реНрддрд░ рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░ рд░рд╣реА рд╣реИред
рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ рд╣реИ! рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
рдПрдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдЙрдирдХреЗ рд▓рд┐рдП рдХрдИ рдмреЗрд╣рддрд░реАрди рдЙрдкрдХрд░рдг рд╣реИрдВред рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛
рдкрдВрдбреЛрдВ рд╣реИ , рдЬреЛ рдиреНрдпреВрдордкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рддреНрд╡рд░рд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдк рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рддреАрди рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рд▓реИрдкрдЯреЙрдк рдкрд░, рдХреБрдЫ рд╣реА рд╕рдордп рдореЗрдВ NumPy 100,000,000 рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИред рдорддрд▓рдм рдФрд░ рдЖрд░ рднреА рдРрд╕реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдЕрдХреНрд╕рд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд▓рд╛рдЗрди рдХреЛ рд▓рд╛рдЗрди рд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред
рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 10 рдЬреАрдмреА рд╣реИ!
рдореИрдВрдиреЗ рдЕрднреА рдирдпрд╛ рд▓реИрдкрдЯреЙрдк рдЦрд░реАрджрд╛ рд╣реИред рдЗрд╕рдореЗрдВ 16 рдЬреАрдмреА рд░реИрдо рдХреА рдХреАрдордд рдореЗрд░реЗ рд▓рд┐рдП $ 141.98 рд╣реИ, рдФрд░ 256 рдЬреАрдмреА рдПрд╕рдПрд╕рдбреА рдХреА рдХреАрдордд рдПрдХ рдФрд░ $ 200 (рд▓реЗрдиреЛрд╡реЛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб) рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк 10-рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╕реАрдПрд╕рд╡реА рдХреЛ рдкрдВрдбреЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдХреНрд╕рд░ рдХрдо рдореЗрдореЛрд░реА рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ "17284932583" рдЬреИрд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд╛рд░ 4 рдпрд╛ 8 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ "284572452.2435723" ред рдЦреИрд░, рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдм рдХреБрдЫ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 100 рдЬреАрдмреА / 500 рдЬреАрдмреА / 1 рдЯреАрдмреА рд╣реИ!
рдПрдХ 2 рдЯреАрдмреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреА рдХреАрдордд $ 94.99, рдПрдХ 4 - $ 169.99 рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╣реИред рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЦрд░реАрджреЗрдВ рдФрд░ рдЙрд╕ рдкрд░ Postgres рд▓рдЧрд╛рдПрдВред
Hadoop << SQL рдФрд░ Python
рдЕрдкрдиреА рдЧрдгрдирд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, Hadoop SQL рд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдиреАрдЪрд╛ рд╣реИред рдРрд╕реА рдХреЛрдИ рдЧрдгрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ Hadoop рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди SQL рдореЗрдВ рдпрд╛ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рддреА рд╣реИред
рдПрд╕рдХреНрдпреВрдПрд▓ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рд░рд┐рд╕рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред SQL рдореЗрдВ рдХреНрд╡реЗрд░реА рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╣реИ, рддреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
Hadoop рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред Hadoop рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдбреЛрдк рдЯрдкрдХрд╛ рд╣реБрдЖ рдЕрдореВрд░реНрддрддрд╛рдУрдВ рд╕реЗ рднрд░рд╛ рд╣реИ - рдЖрдЦрд┐рд░реА рдЬрдЧрд╣ рдореЗрдВ рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рд▓рдбрд╝рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рд╣реА рд╡рд┐рдЦрдВрдбрди рджрд░реНрдЬ рдХрд┐рдпрд╛ (рдХрд╛рдлреА рд╕рд░рд▓) рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ SQL рдЯреЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд░рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╕рд╛рджрд╛ рдкрд╛рда, JSON, рдмрд╛рдпрдиреЗрд░реА), рддреЛ рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рдкрд╛рдпрдерди рдпрд╛ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдбреЗрдЯрд╛ рд▓рд╛рдЗрди рдХреЛ рд▓рд╛рдЗрди рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ SQL рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, Hadoop рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдХрдо рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЗрд╕рдХрд╛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд╛рдбреЛрдк рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдзреАрдорд╛ рд╣реИред рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рддрд░реНрдХрд╕рдВрдЧрдд рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдмрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рджреЗрдЦреЗрдВ (рдпрджрд┐ рдХреЛрдИ рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рдореВрд▓реНрдп рджреЗрдЦреЗрдВред Hadoop рдХреЛ рдПрдХ рдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреИрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рдХрдИ рдорд╢реАрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рддрд░рдл, рдЖрдкрдХреЛ рдЙрди рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, Hadoop рдХреЛ NameNode рдХреЛ рдХрдИ рдХреЙрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХрдИ рдХреЙрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 5 рд╕реЗ рдЕрдзрд┐рдХ рдЯреАрдмреА рдбреЗрдЯрд╛ рд╣реИ!
рдареАрдХ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рдпрд╣рд╛рдВ рдЖрдк рд╣рдбреЛрдк рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдХреБрдЫ рдЕрдиреНрдп рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдИ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рд╕рд░реНрд╡рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рдВрдЧреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдХрдИ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рд╕рд░реНрд╡рд░ рдЕрднреА рднреА рдЦреЗрд▓ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдЖрдкрдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рдВрдЧреЗ рд╣реИрдВред
Hadoop рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд▓рд╛рдн рдЗрд╕рдХреА рдорд╛рдкрдиреАрдпрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЯреЗрдмрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ рд╣реИрдВ, рддреЛ Hadoop рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕реА рдХреЛрдИ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдкреНрд▓реЗрдЧ рдХреЗ рд░реВрдк рдореЗрдВ Hadoop рд╕реЗ рдмрдЪреЗрдВред рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдХрдо рдкреНрд░рдпрд╛рд╕ рдФрд░ рдХрдо рд╕рдордп рдореЗрдВ, рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдВрдЧреЗред
рдкреБрдирд╢реНрдЪред рд╡рд┐рдЬреНрдЮрд╛рдкрди
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╣реИ рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдмрдбрд╝реЗ рдФрд░ рдЫреЛрдЯреЗ рджреЛрдиреЛрдВ), рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд╢рдХреЛрдВ рдФрд░ рдИ-рдХреЙрдорд░реНрд╕ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдмреАрдЯрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ stucchio@gmail.com рдкрд░ рд▓рд┐рдЦреЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдХ рд╕рд▓рд╛рд╣рдХрд╛рд░ рд╣реВрдВред рдпрджрд┐ рдЖрдкрдХреА рдХрдВрдкрдиреА рдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдмрд┐рдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдгрдиреАрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реВрдВ - рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЛ рдкрдВрдбреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдКрдВ рдФрд░ рдЖрдкрдХреЛ рддреБрд░рдВрдд рд╣рдбреЛрдк рд╕реЗ рдЫреЗрдбрд╝рдЦрд╛рдиреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рддреБрд▓рдирд╛ рдкреНрд░рджрд╛рди рдХрд░реВрдВред
рдкреА рдкреА рдПрд╕ред Hadoop рдПрдХ рдмреЗрд╣рддрд░реАрди рдЯреВрд▓ рд╣реИ
рдореЗрд░реЗ рдкрд╛рд╕ Hadoop рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред (рдЯрд┐рдк: рдореИрдВ рд╣рд╛рдЗрд╡ рдФрд░ рдкрд┐рдЧ рдХреЗ рдмрдЬрд╛рдп
рд╕реНрдХреИрд▓реНрдбрд┐рдВрдЧ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрдХреИрд▓рд╛ (рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореИрдкрд░рд╛рдЗрдб рдХреЛ рдЫрд┐рдкрд╛рдП рдмрд┐рдирд╛ рдХреЙрдиреНрдЯреЗрдиреЗрдЯреЗрдб рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред) рд╣рдбреЛрдк рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдкреНрд░рд╕рд┐рджреНрдз рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред ред рдореИрдВ рд╕рд┐рд░реНрдл 500 рдПрдордмреА рдмрд┐рдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ Hadoop рдорд╢реАрди рдХреЛ рдЪреБрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВред