
рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ Windows Azure рдХреЗ рд▓рд┐рдП Apache Hadoop- рдЖрдзрд╛рд░рд┐рдд рд╕реЗрд╡рд╛рдУрдВ, рд╕рд╛рде рд╣реА Excel рдореЗрдВ рд╣рд╛рдЗрд╡ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд╡реЗрд░реА, рдЕрдзреНрдпрдпрди рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдХрд╛ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдЬреИрд╕реЗ рдЯреНрд╡рд┐рдЯрд░ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд░реБрдЭрд╛рдиреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
рдореИрдиреБрдЕрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВред
- Twitter рдХреЗ рд▓рд┐рдП Microsoft Analytics рдЦреЛрдЬ, рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- CURL рдФрд░ Twitter рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдлреАрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
- Windows Azure рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдПрдХ рдирдпрд╛ Hadoop рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- Hadoop рдкрд░ Windows рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ Hive рдХреЗ рд╕рд╛рде Twitter рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛
- Hive рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Hive ODBC рдФрд░ Hive рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ Excel рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
Twitter рдХреЗ рд▓рд┐рдП Microsoft Analytics рдЦреЛрдЬ, рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд▓рд┐рдП Microsoft Analytics рдирд┐рдореНрди рдкрддреЗ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ:
http://www.microsoft.com/download/en/details.aspx?id=26213 ред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕реЗрд▓ 2010 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкрд╛рд╡рд░рдкреЙрдЗрдВрдЯ рдРрдб-рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ
http://www.microsoft.com/download/en/details.aspx?id=29074 ) рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
![clip_image004 [4] clip_image004[4]](https://habrastorage.org/getpro/habr/post_images/cb8/632/205/cb8632205c8f71be79613c70d1112e20.jpg)
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореВрд╡реА рдЯреИрдЧ рдФрд░ рдЦрд╛рддреЛрдВ рдХреЛ рдХреНрд╡реЗрд░реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
#moneyball, @MoneyballMovie, @helpmovie, @BridesmaidsSay, @ContAGionMmovie
рдмрдЯрди рджрдмрд╛рдПрдВ
![clip_image006 [4] clip_image006[4]](https://habrastorage.org/getpro/habr/post_images/189/fb5/7e7/189fb57e743c26e531eda2fc228381ba.jpg)
рдФрд░ рдСрдирд╕реНрдХреНрд░реАрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рдиреЛрдЯред рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ Hadoop рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХреНрд╕реЗрд▓ рдФрд░ рдкреЙрд╡рд░рдкрд┐рд╡ тАЛтАЛрдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рд╕рд░реНрдЪ рдПрдкреАрдЖрдИ рдФрд░ рд╕реЗрд▓реНрдл рд╕рд░реНрд╡рд┐рд╕ рдмрд┐рдЬрдиреЗрд╕ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
CURL рдФрд░ Twitter рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдлрд╝реАрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, curl.exe рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЕрдкрдиреЗ OS рдХреЗ рд▓рд┐рдП рдХрд░реНрд▓ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА рдмрд╛рдЗрдирд░реА рдПрд╕рдПрд╕рдПрд▓ рдлрд╝рд╛рдЗрд▓)
http://curl.haxx.se/download.html рдкрд░![clip_image008 [4] clip_image008[4]](https://habrastorage.org/getpro/habr/post_images/08f/78f/811/08f78f811d0a24535f76ec1f198337b4.jpg)
рдФрд░ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
рдХрд░реНрд▓ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
C: \ twitterdata )ред
рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ -
Twitter рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред cmd рдФрд░
twitter_params.txt -
Step2GetTwitterFeedUsingCURLAndTwitterStreamingAPI рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ
curl.exe рдпреБрдХреНрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ:
Tweets рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
twitter_params.txt рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
track = рдордиреАрдмреЙрд▓, рдордиреАрдмреЙрд▓рдореВрд╡реА, рд╣реЗрд▓реНрдкрдореВрд╡реА, рдмреНрд░рд╛рдЗрдбреНрд╕рдореЗрдбреНрд╕рд╕реЗ, CONTAGION_movieрдирд┐рдореНрди рдХреНрд░рдорд╛рдВрдХ рдкрд░
PASSWORD рдХреЗ рдмрдЬрд╛рдп
USER рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ Twitter рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдбрд╛рд▓рдХрд░,
twitter stream.cmd рдХрдорд╛рдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓реЗрдВред
curl -d @ twitter_params.txt -k stream.twitter.com/1/statuses/filter.json -uUSER: PASSWORD >> twitter_stream_seq.txtрдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ
рдЯреНрд╡рд┐рдЯрд░ рд╕реНрдЯреНрд░реАрдо.cmd рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
![clip_image012 [4] clip_image012[4]](https://habrastorage.org/getpro/habr/post_images/6b2/1c0/a6b/6b21c0a6ba9f50b27e17fe13fd70aabb.jpg)
рдирд┐рдореНрди рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
![clip_image014 [4] clip_image014[4]](https://habrastorage.org/getpro/habr/post_images/eb5/4b7/4fe/eb54b74fefd3580935a53e8c93e86806.jpg)
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
Ctrl + C рджрдмрд╛рдПрдВред рддрдм рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
Windows Azure рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдПрдХ рдирдпрд╛ Hadoop рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, Windows Azure рдкрд░ Apache Hadoop- рдЖрдзрд╛рд░рд┐рдд рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП CTP рдкрд╣реБрдБрдЪ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
Https://www.hadooponazure.com/ рдкрд░
рдЬрд╛рдПрдВ рдФрд░
рдЖрдордВрддреНрд░рдг рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣реБрдВрдЪ рд╣реИ, рддреЛ
рд╕рд╛рдЗрди рдЗрди рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image016 [4] clip_image016[4]](https://habrastorage.org/getpro/habr/post_images/03d/444/ae3/03d444ae378a3eaa373d01d287dda787.jpg)
рдПрдХ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдирд┐рдореНрди рдореЗрд▓рдмреЙрдХреНрд╕ рдореЗрд▓рдмреЙрдХреНрд╕ рдирд╛рдо рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдиреБрд░реЛрдз рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрд╛рдЪреЗ Hadoop рдХреЛ Windows Azure рдмреЗрд╕реНрдб рд╕рд░реНрд╡рд┐рд╕ рдФрд░ FAQ рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВред
![clip_image018 [4] clip_image018[4]](https://habrastorage.org/getpro/habr/post_images/d8d/107/20a/d8d10720a92cecd2dbbcc7dc1e6f1d67.gif)
рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП FTPS рдФрд░ ODBC рдкреЛрд░реНрдЯ рдЦреЛрд▓реЗрдВред
![Clip_image020 [4] clip_image020[4]](https://habrastorage.org/getpro/habr/post_images/1b4/374/7cc/1b43747cc87f93a8b7b633ad8f556c09.jpg)
рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдХрдВрд╕реЛрд▓ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image024 [4] clip_image024[4]](https://habrastorage.org/getpro/habr/post_images/0bf/d9d/da7/0bfd9dda7b21a54b0c61d483bf621bb8.jpg)
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЪрдбреАрдПрдлрдПрд╕ рдкрд░ рдЯреНрд╡рд┐рдЯрд░ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ:
js> #mkdir / рдЙрджрд╛рд╣рд░рдг / рдбреЗрдЯрд╛рдкрд░реАрдХреНрд╖рдг рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:
js> # рд░рд╛рдЬрдкреВрдд
рд╕реНрд░реЛрдд: C: \ hadoop \ example \ data \ Sample.txt
рдЧрдВрддрд╡реНрдп: / рдЙрджрд╛рд╣рд░рдг / рдбреЗрдЯрд╛рдПрдЪрдбреАрдПрдлрдПрд╕ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА (рдЕрд╕рдореНрдкреАрдбрд┐рдд) рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд░реНрд▓ред Exe рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪрд░рдг 2 рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ: C: \ hadoop \ example \ dataред рдлрд┐рд░ PowerShell рдЦреЛрд▓реЗрдВ,
C: \ hadoop \ example \ data рдкрд░ рдЬрд╛рдПрдВ рдФрд░ FTPS рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ SampleData рдкрд╛рда рдлрд╝рд╛рдЗрд▓ (
рдирдореВрдирд╛Data.txt) рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
C: \ hadoop \ example \ data># ----- azure рд╢рдХреНрддрд┐рдпрд╛рдБ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдбреЛрдк рд╕реЗ рдХрд░реНрд▓ рдлрд╝реБрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ -
# ------ XXXXXXX рдХреЛ рдЙрдЪрд┐рдд рд╕рд░реНрд╡рд░рдиреЗрдо / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рдмрджрд▓реЗрдВ$ serverName = "XXX.cloudapp.net"; $ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо = "XXXX";
$ рдкрд╛рд╕рд╡рд░реНрдб = "XXXXXXXX";
$ fileToUpload = "SampleData.txt"; $ рдЧрдВрддрд╡реНрдп = "/ рдЙрджрд╛рд╣рд░рдг / рдбреЗрдЯрд╛ /";
$ Md5Hasher = [System.Security.Cryptography.MD5] :: рдмрдирд╛рдПрдБ ();
$ рд╣реИрд╢рдмрд╛рдЗрдЯреНрд╕ = $ Md5Hasher.ComputeHash ($ ([рдЪрд╛рд░ []] $ рдкрд╛рд╕рд╡рд░реНрдб))
foreach ($ hashBytes рдореЗрдВ $ рдмрд╛рдЗрдЯ) {$ passwordHash + = "{0: x2}" -f $ byte}
$ curlCmd = "ред \ _ рдХрд░реНрд▓ -k --ftp-create-dirs -T $ fileToUpload -u $ userName"
$ curlCmd + = ": $ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢ рдлреАрдЯ: // $ рд╕рд░реНрд╡рд░рдирд╛рдо" + ": 2226 рдЧрдВрддрд╡реНрдп"
рдЖрд╣реНрд╡рд╛рди-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ $ curlCmd# ----- azure рд╢рдХреНрддрд┐рдпрд╛рдБ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд░реНрд▓ рдлрд╝реБрдЯ рдХреЛ рд╣рдбреЛрдк рдХрд░реЗрдВ![clip_image026 [4] clip_image026[4]](https://habrastorage.org/getpro/habr/post_images/ffa/5b3/294/ffa5b3294897f3acc5bae84754112b63.jpg)
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрд╣реБрдд рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди .gz, рдЖрджрд┐ рдХреЗ рд╕рд╛рде) рдЖрдкрдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЦрд╛рддреЗ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред CloudXplorer рдкреНрд░реЛрдЧреНрд░рд╛рдо (
http://clumsyleaf.com/products/cloudxplorer ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдЕрдкрдирд╛ Windows Azure рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ CloudXplorer рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Windows Azure рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдХреЙрд▓рдо рдореЗрдВ
рд╡реНрдпреВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддреЗ рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдкрд╛рд╕рдХ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред
![clip_image028 [4] clip_image028[4]](https://habrastorage.org/getpro/habr/post_images/42b/278/1ef/42b2781efdfc26c394fa2d5219cfb978.jpg)
рдлрд┐рд░ CloudXplorer рдЦреЛрд▓реЗрдВ рдФрд░
рдлрд╝рд╛рдЗрд▓ -> рдЦрд╛рддреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВ ред рдПрдХ рдирдпрд╛ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдЦреБрд▓реЗрдЧрд╛ред
рдирдпрд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░
Windows Azure рдЦрд╛рддрд╛ рдЪреБрдиреЗрдВ ред
![clip_image030 [4] clip_image030[4]](https://habrastorage.org/getpro/habr/post_images/49b/4ea/42e/49b4ea42e2ac038e604f61b069f32209.jpg)
рдЕрдЧрд▓реЗ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ, рд╡реЙрд▓реНрдЯ рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡реЙрд▓реНрдЯ рдЕрдХрд╛рдЙрдВрдЯ рдХрд╛ рдирд╛рдо рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдбрдкрдбреЗрдореЛ), рдФрд░ рдХреЙрдкреА рдХреА рдЧрдИ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреАред
![clip_image032 [4] clip_image032[4]](https://habrastorage.org/getpro/habr/post_images/799/162/626/79916262665a4cc09bc26ad6bb5fa447.jpg)
рдирдП рднрдВрдбрд╛рд░рдг рдЦрд╛рддреЗ рдореЗрдВ, рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ (рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ
рдХрдВрдЯреЗрдирд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
![clip_image034 [4] clip_image034[4]](https://habrastorage.org/getpro/habr/post_images/9a9/501/480/9a9501480249fe142d87e64ef6c84c6d.jpg)
рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдХреЙрдкреА рдХрд░реЗрдВ) (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдХреЛ
рдбреЗрдЯрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ )ред
рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдирд╛ Windows Azure BLOB рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддрд╛ рд╕реЗрдЯ
рдХрд░реЗрдВ
ASV рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ред
![clip_image040 [4] clip_image040[4]](https://habrastorage.org/getpro/habr/post_images/ab1/df5/a2c/ab1df5a2ccbfd58a8620beb1ac814940.jpg)
рдЕрдм рдЖрдкрдХреЛ Windows Azure
Storage Account Name (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣
hadoptmo рдерд╛) рдФрд░ рдореБрдЦреНрдп рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдирд╛рдо рдЪрд╛рд╣рд┐рдПред
![clip_image042 [4] clip_image042[4]](https://habrastorage.org/getpro/habr/post_images/53e/2ce/309/53e2ce30999a7ec5d4b0feb9b72be6de.jpg)
Windows Azure рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддреЗ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХ рдкрд╛рд╕рдХреА рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
![clip_image044 [4] clip_image044[4]](https://habrastorage.org/getpro/habr/post_images/b7f/d37/01c/b7fd3701c8cb9dc04416339ea8dbaecb.jpg)
Hadoop рдкрд░ Windows рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ Hive рдХреЗ рд╕рд╛рде Twitter рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛
Https://www.hadooponazure.com/ рдкрд░
рдЬрд╛рдПрдВ ред
рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ Hadoop рд╣реЗрдб рдиреЛрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
![clip_image046 [4] clip_image046[4]](https://habrastorage.org/getpro/habr/post_images/ba6/d3c/a1c/ba6d3ca1cbafebcfe2dba5f15c361a42.jpg)
рдУрдкрди рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image048 [4] clip_image048[4]](https://habrastorage.org/getpro/habr/post_images/8ea/0d5/1ef/8ea0d51eff8a428e6750cc87b557f5b9.jpg)
рдЪрд░рдг 3 рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред
рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
c: \ Apps \ dist \ example \ data ) рджреВрд░рд╕реНрде Hadoop рд╣реЗрдб рдиреЛрдб рд╕рд░реНрд╡рд░ рдкрд░ (NTFS рдкрдХреНрд╖ рдкрд░) рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдФрд░ рдлрд┐рд░ рдЙрд╕ рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВред
CopyToHeadnode рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ
HiveUDFs.jar рдлрд╝рд╛рдЗрд▓ (рд╣рд╛рдЗрд╡ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕),
рдЧрдЬрд╝рд┐рдк , рд╕рд╛рде рд╣реА рд╣рд╛рдЗрд╡ рдЯреЗрдХреНрд╕реНрдЯ рдХреНрд╡реЗрд░реА рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ рдЗрд╕ рдЪрд░рдг рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
Hadoop Command Shell.txt рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд░рдгред
![clip_image050 [4] clip_image050[4]](https://habrastorage.org/getpro/habr/post_images/368/3bd/102/3683bd102ef35867b35dd889bb756b6a.jpg)
RDP рд╣реЛрд╕реНрдЯ рдФрд░ рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рдмреАрдЪ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХрднреА-рдХрднреА Hadoop
gzip рдлрд╛рдЗрд▓ рдХреЛ
рдбрд┐рдХрдореНрдкреНрд░реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЗрд╕реЗ HDFS рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ Hadoop рдХрдорд╛рдВрдб рд╢реЗрд▓ рдЦреЛрд▓реЗрдВред
C: \ Apps \ dist \ example \ data рдкрд░ рдЬрд╛рдПрдВ ред
![clip_image054 [4] clip_image054[4]](https://habrastorage.org/getpro/habr/post_images/9f1/e40/f0c/9f1e40f0cb946e363c240bf24270ab84.jpg)
Windows Azure рд╕рдВрдЧреНрд░рд╣рдг рд╕реЗ
c: \ Apps \ dist \ example \ data рдлрд╝реЛрд▓реНрдбрд░ (NTFS рдкрдХреНрд╖ рдкрд░) рдХреЗ рд▓рд┐рдП
рдЯреНрд╡рд┐рдЯрд░ рд╕реНрдЯреНрд░реАрдо seq8.gz рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рднрдВрдбрд╛рд░рдг рдЦрд╛рддреЗ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди рдЪрд░рдг 3 рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рднрдВрдбрд╛рд░рдг рд╕рдВрдШреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдХреЛ
рдбреЗрдЯрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ рдФрд░ рдпрд╣
asv: // рдХреЗ рддрд╣рдд рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
c: \ Apps \ dist \ example \ data> hadoop fs -copyToLocal asv: //data/twitter_stream_seq8.txt.gz twitter_stream_seq8.txt.gzрдЯреНрд╡рд┐рдЯрд░ рд╕реНрдЯреНрд░реАрдо seq8.gz рдЖрд░реНрдХрд╛рдЗрд╡ рдХреЛ
c: \ Apps \ dist \ example \ data рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрдкрдХреЛ
gzip.exe рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ
http://www.gzip.org/ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрдЧрд╣ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд╣рд╛рдВ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
c: \ Apps \ dist \ example \ data> gzip -d -N twitter_stream_seq8.txt.gzрдиреЛрдЯред рдХрднреА-рдХрднреА Hadoop рдлрд╝рд╛рдЗрд▓ рдХреЛ HDFS рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп рдЕрдирдкреИрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ .bz2 (bzip2)
http://bzip.org/ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
hadoop fs -copyFromLocal twitter_stream_seq8.txt.gz /example/data/twitter_stream_seq8.txtрдирд┐рдореНрди рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде HDFS рдореЗрдВ
рдЯреНрд╡рд┐рдЯрд░ рд╕реНрдЯреНрд░реАрдо seq8.txt рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ
: \ Apps \ dist \ example \ data рдлрд╝реЛрд▓реНрдбрд░
c: \ Apps \ dist \ example \ data>
hadoop fs -copyFromLocal twitter_stream_seq8.txt /example/data/twitter_stream_seq8.txt1. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдПрдЪрдбреАрдПрдлрдПрд╕ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦреЛрд▓реЗрдВ
![clip_image056 [4] clip_image056[4]](https://habrastorage.org/getpro/habr/post_images/ade/388/161/ade38816118c14ca96fb6b392bb2f62d.jpg)
рдФрд░ / рдЙрджрд╛рд╣рд░рдг / рдбреЗрдЯрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВред
![clip_image058 [4] clip_image058[4]](https://habrastorage.org/getpro/habr/post_images/107/7ab/566/1077ab5664490527f2f49daaf6c7744c.jpg)
Hadoop рдХрдорд╛рдВрдб Shell.txt рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдирд┐рдореНрди рдХреБрдЫ рдЪрд░рдг рд╕рдорд╛рд╣рд┐рдд рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ рд╣реЗрдб рдиреЛрдб рдореЗрдВ рдХреЙрдкреА рдХрд┐рдП рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде twitter_raw рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f load_twitter_raw.txt![clip_image060 [4] clip_image060[4]](https://habrastorage.org/getpro/habr/post_images/c45/c41/2d1/c45c412d1acdede1849f76f0f38ca4d8.jpg)
рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдПрдЪрдЯреАрдПрдлрдПрд╕ рдХреА рдУрд░ / рд╣рд╛рдЗрд╡ / рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:
![clip_image062 [4] clip_image062[4]](https://habrastorage.org/getpro/habr/post_images/82a/69f/a80/82a69fa80e0dd7db1c7f3c12d4b3bc83.jpg)
рдЗрд╕реЗ рд╣рд╛рдЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
: c: \ Apps \ dist \ example \ data> рд╣рд╛рдЗрд╡ рдФрд░
рд╣рд╛рдЗрд╡> рд╢реЛ рдЯреЗрдмрд▓; рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
![clip_image064 [4] clip_image064[4]](https://habrastorage.org/getpro/habr/post_images/d6d/f2f/187/d6df2f1871d5dfc17e3bd15c2a9c5122.jpg)
рд╣рд╛рдЗрд╡ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╣рд╛рдЗрд╡> рдХрдорд╛рдВрдб
рдЫреЛрдбрд╝реЗрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
; ред рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░
twitter_temp рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f create_twitter_temp.txtрдпрджрд┐ 4 рдиреЛрдб рд╣реИрдВ, рддреЛ рдпрд╣ рдСрдкрд░реЗрд╢рди 20 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдЧрд╛, рдФрд░ рдпрджрд┐ 8 рдиреЛрдб рд╣реИрдВ, рддреЛ 8 рдорд┐рдирдЯ 55 рд╕реЗрдХрдВрдб рд▓рдЧреЗрдВрдЧреЗред рдирд┐рдореНрди рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
![clip_image066 [4] clip_image066[4]](https://habrastorage.org/getpro/habr/post_images/79c/f93/768/79cf93768b0d284612786918009de5ac.jpg)
рд╡рд┐рд╡рд░рдг рдФрд░ рдкреНрд░рдЧрддрд┐ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдСрдкрд░реЗрд╢рди рдореЗрдВ 20 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред
![clip_image068 [4] clip_image068[4]](https://habrastorage.org/getpro/habr/post_images/52d/690/b3c/52d690b3cae2d6ac83707bcaabc34529.jpg)
рдЖрдк Hadoop рдХрдорд╛рдВрдб рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
![clip_image070 [4] clip_image070[4]](https://habrastorage.org/getpro/habr/post_images/09e/913/ecf/09e913ecf8ca0a0c1acf2aab710f34c2.jpg)
рдЗрд╕реЗ
C: \ Apps \ dist \ example \ data> hive рдФрд░
Hive> рд╢реЛ рдЯреЗрдмрд▓ рдкрд░ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рд╣рд╛рдЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
![clip_image072 [4] clip_image072[4]](https://habrastorage.org/getpro/habr/post_images/2c2/01b/683/2c201b683a14c7311b5f538b90a5d65b.jpg)
рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░
twitter_stream рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f create_twitter_stream.txtрдпрджрд┐ 4 рдиреЛрдб рд╣реИрдВ, рддреЛ рдпрд╣ рдСрдкрд░реЗрд╢рди 60 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдЧрд╛, рдФрд░ рдпрджрд┐ 8 рдиреЛрдб рд╣реИрдВ, рддреЛ 31 рдорд┐рдирдЯ 54 рд╕реЗрдХрдВрдб рд▓рдЧреЗрдВрдЧреЗред рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ
рд╕рд╛рде рдЯреНрд╡рд┐рдЯрд░ рд╕реНрдЯреНрд░реАрдо рдирдореВрдирд╛ рдмрдирд╛рдПрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f create_twitter_stream_sample.txtрдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░
twitter_movies рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f create_twitter_movies.txtрдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде
vw рдЯреНрд╡рд┐рдЯрд░ рдореВрд╡реАрдЬ рдмрдирд╛рдПрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
c: \ apps \ dist \ example \ data> hive -v -f create_twitter_movies_vw.txtрдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред
Hive рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Hive ODBC рдФрд░ Hive рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ Excel рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдпрд╣ рдЕрдиреБрднрд╛рдЧ
рд╡рд┐рдВрдбреЛрдЬ рдЕрдЬрд╝реВрд░ рд╕рд░реНрд╡рд┐рд╕ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рдВрд╕ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдЯрд╛рдЗрд▓ рдкрд░ рд╕реНрдерд┐рдд
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ
рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рд╣рдбреЛрдк рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
![clip_image074 [4] clip_image074[4]](https://habrastorage.org/getpro/habr/post_images/4b9/112/1ed/4b91121ed06611fa397399fdeb4885e3.jpg)
Windows Azure рдкреЛрд░реНрдЯрд▓ рдкрд░ Hadoop рдореЗрдВред
![clip_image076 [4] clip_image076[4]](https://habrastorage.org/getpro/habr/post_images/bc8/9ae/8bd/bc89ae8bd25251b29fc875856d160923.jpg)
![clip_image078 [4] clip_image078[4]](https://habrastorage.org/getpro/habr/post_images/747/371/96f/74737196f94b43e4e18bfc0fd7fa460b.jpg)
рд╡рд╣рд╛рдВ рд╕реЗ, рдЖрдк 64-рдмрд┐рдЯ рдФрд░ рдПрдХреНрд╕реЗрд▓ рдХреЗ 32-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП
HiveODBCSetup рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
HiveODBC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Windows Azure рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ Hadoop рдореЗрдВ Excel рдХреЗ рд▓рд┐рдП Hive рдРрдб-рдЗрди рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
Microsoft рдХреЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕рдорд╛рдзрд╛рди рдХреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, Microsoft рд╡реНрдпрд╡рд╕рд╛рдп рдЦреБрдлрд┐рдпрд╛ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде Hadoop рдХрд╛ рдПрдХреАрдХрд░рдгред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ Hadoop рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ Hive рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ Excel рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╣реИред рдпрд╣ рдЦрдВрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдЗрд╡ ODBC рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╣рд╛рдЗрд╡ ODBC рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Hado OD рд╕реЗ Windows Azure рдкреЛрд░реНрдЯрд▓ рдореЗрдВ Hive ODBC рдбреНрд░рд╛рдЗрд╡рд░ (.msi рдлрд╝рд╛рдЗрд▓) рдХреЗ 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
HiveODBCSetupx64.msi рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддрд╛ рдкрдврд╝реЗрдВред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреА рд╢рд░реНрддреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рддреЛ
рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рд╣реИ рдФрд░ рдлрд┐рд░
рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
![clip_image080 [4] clip_image080[4]](https://habrastorage.org/getpro/habr/post_images/f69/137/b5f/f69137b5fc968b48df81150751459902.jpg)
рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
рдПрдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрд╡ рдРрдб-рдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЗрд╕ рдРрдб-рдЗрди рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрд╡ ODBC рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ Excel 2010 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред Excel 2010 рдХреЗ 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЪрд▓рд╛рдПрдВред рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ
HiveExcel рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗрдЧрд╛ред
рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░, Microsoft Excel 2010 рдореЗрдВ
рдбреЗрдЯрд╛ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рд╛рдЗрд╡ рдкреИрдирд▓ рдЦреБрд▓рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
![clip_image082 [4] clip_image082[4]](https://habrastorage.org/getpro/habr/post_images/4a8/028/666/4a802866620be7f5673d9131c6e772aa.jpg)
рдПрдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рдЗрд╡ ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рдирд╛
Microsoft Windows
рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реНрдЯрд╛рд░реНрдЯ ->
рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдХрд╛ рдЪрдпрди
рдХрд░реЗрдВ ред рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рд╡рд┐рдВрдбреЛ рдореЗрдВ,
рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ ->
рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдЙрдкрдХрд░рдг ->
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд (ODBC) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ред
ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕
рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ ред
ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рд╕рд┐рд╕реНрдЯрдо DSN рдЯреИрдм рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
Add рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред ODBC рдбреНрд░рд╛рдЗрд╡рд░ рд╕реВрдЪреА рдореЗрдВ
HIVE рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
ODBC Hive рд╕реЗрдЯрдЕрдк рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдЦреБрд▓рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
MyHiveData ред
рд╣реЛрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдкреЛрд░реНрдЯрд▓ рдкрд░ рдмрдирд╛рдП рдЧрдП рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
myhadoopcluster.cloudapp.net ред рдкреЛрд░реНрдЯрд▓ рдкрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ
рд╣рд╛рдЗрд╡ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╣рд╛рдЗрд╡ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
Excel 2010 рдХрд╛ 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдПрдБред рдлрд┐рд░,
рдбреЗрдЯрд╛ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╣рд╛рдЗрд╡ рдкреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рд╛рдЗрд╡ рдкреИрдирд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╣рд╛рдЗрд╡ рдХрдиреЗрдХреНрд╢рди рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдХрд╛
рдЪрдпрди рдХрд░реЗрдВ рдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ , рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдкреЛрд░реНрдЯрд▓ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛ред рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред
рд╣рд╛рдЗрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд╡реЗрд░реА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдЪреБрдиреЗрдВ,
hivesampletable [рдЯреЗрдмрд▓] рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдХреЙрд▓рдо рджреЗрдЦреЗрдВред
рд╣рд╛рдЗрд╡ рдХреНрд╡реЗрд░реА рдкреИрдирд▓ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
Execute Query рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image092 [5] clip_image092[5]](https://habrastorage.org/getpro/habr/post_images/b62/3d8/d4f/b623d8d4f26855ec93770f4184c658ef.gif)
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЙрд░реНрдо рдХреА рдПрдХ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреА рд╣реЛрдЧреА:
рдЯреНрд╡рд┐рдЯрд░
рдлрд┐рд▓реНрдореЛрдВ рд╕реЗ рдЪреБрдиреЗрдВ * vw рд╕реАрдорд╛ 20
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдкрд░ рд╣реИрдбреЛрдк рдФрд░ рдПрдХреНрд╕реЗрд▓ рдкрд░ рдХреНрд╡реЗрд░реА рд╣рд╛рдЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдХреНрд╡реЗрд░реА, рдЕрдзреНрдпрдпрди рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред