Hadoop рдФрд░ Apache Mahout рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЕрдиреБрд╢рдВрд╕рд╛ рдкреНрд░рдгрд╛рд▓реА

рдЫрд╡рд┐

Apache Mahout рдПрдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкреНрд░рдгрд╛рд▓реА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрдкреНрд▓реАрдХреЗрд╢рди рд╣реИрдВред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ, рд╣рдо рд╕рдВрдЧреАрдд рд╕рд╛рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЧрд╛рдиреЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд┐рдпрди рд╕рд╛рдВрдЧ рдбрд╛рдЯрд╕реЗрдЯ рдСрдирд▓рд╛рдЗрди рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред



рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА:




рдЗрд╕ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рд╣реИрдВред


  1. рдбреЗрдЯрд╛ рдХреА рдЦреЛрдЬ рдФрд░ рдкреНрд░рд╛рд░реВрдкрдг
  2. рдорд╣рддреЛ рдХреА рдЦреЛрдЬ

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк


рдЗрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ, рдЖрдкрдХреЛ Windows Azure рдХреЗ рд▓рд┐рдП Apache Hadoop- рдЖрдзрд╛рд░рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдПрдХ рдЦрд╛рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ Hadoop рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, " Windows Azure рдкрд░ Hadoop рдкрд░ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЬрд╛рдирдХрд╛рд░реА " рд▓реЗрдЦ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ " Microsoft Hadoop рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ " рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред



рдбреЗрдЯрд╛ рдХреА рдЦреЛрдЬ рдФрд░ рдкреНрд░рд╛рд░реВрдкрдг


Apache Mahout рдПрдХ рдПрдХреАрдХреГрдд рддрддреНрд╡-рдЖрдзрд╛рд░рд┐рдд рд╕рд╣рдпреЛрдЧреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдХрд░рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡-рдЖрдзрд╛рд░рд┐рдд рд╕рд╣рдпреЛрдЧреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрддреНрд╡реЛрдВ (рдЧрд╛рдиреЛрдВ) рдХреЗ рд╕рд╛рде рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдЗрди рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реИрдВ, рдЬреЛ рд╡реЗ рдЧреАрддреЛрдВ рдХреЛ рд╕реБрдирддреЗ рд╣реИрдВред рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдЗрдХреЛ рдиреЗрд╕реНрдЯ рд╕реНрд╡рд╛рдж рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕рдмрд╕реЗрдЯ рд╡реЗрдмрдкреЗрдЬ рдкрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



clip_image002
рдЪрд┐рддреНрд░ 1ред рдорд┐рд▓рд╛рдпрди рд╕рд╛рдВрдЧ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдирдореВрдирд╛ рдбреЗрдЯрд╛



Mahout рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдХрд╛рд░реНрдп рдкреВрд░реЗ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред



  1. рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреАрдд рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ID рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред
  2. рдЕрдкрдиреА рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдирдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

Visual Studio 2010 рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ -> рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ ред Visual C # рдиреЛрдб рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдлрд▓рдХ рдореЗрдВ, рд╡рд┐рдВрдбреЛ рд╢реНрд░реЗрдгреА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ , рдФрд░ рдлрд┐рд░ рд╕реВрдЪреА рд╕реЗ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪреБрдиреЗрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо ConvertToMahoutInput рд╣реИ ред



clip_image004
рдЕрдВрдЬреАрд░ред реиред рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛



рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, Program.cs рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рд╕реНрдерд┐рд░ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред



const char tab = '\u0009'; static Dictionary<string, int> usersMapping = new Dictionary<string, int>(); static Dictionary<string, int> songMapping = new Dictionary<string, int>(); 

рдлрд┐рд░ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВред



 var inputStream = File.Open(args[0], FileMode.Open); var reader = new StreamReader(inputStream); var outStream = File.Open("mInput.txt", FileMode.OpenOrCreate); var writer = new StreamWriter(outStream); var i = 1; var line = reader.ReadLine(); while (!string.IsNullOrWhiteSpace(line)) { i++; if (i > 5000) break; var outLine = line.Split(tab); int user = GetUser(outLine[0]); int song = GetSong(outLine[1]); writer.Write(user); writer.Write(','); writer.Write(song); writer.Write(','); writer.WriteLine(outLine[2]); line = reader.ReadLine(); } Console.WriteLine("saved {0} lines to {1}", i, args[1]); reader.Close(); writer.Close(); SaveMapping(usersMapping, "usersMap.csv"); SaveMapping(songMapping, "songMapping.csv"); Console.WriteLine("Mapping saved"); Console.ReadKey(); 

рдЕрдм рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрдпреВрдЬрд░ рдФрд░ рдЧреЗрдЯрд╕реЙрдиреНрдЧ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ ред



 static int GetUser(string user) { if (!usersMapping.ContainsKey(user)) usersMapping.Add(user, usersMapping.Count + 1); return usersMapping[user]; } static int GetSong(string song) { if (!songMapping.ContainsKey(song)) songMapping.Add(song, songMapping.Count + 1); return songMapping[song]; } 

рдФрд░ рдЕрдВрдд рдореЗрдВ, SaveMapping рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдПрдВ, рдЬреЛ рд░реЛрдмреЛрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХреЗ рдореИрдкрд┐рдВрдЧ рдХреЗ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред



 static void SaveMapping(Dictionary<string, int> mapping, string fileName) { var stream = File.Open(fileName, FileMode.Create); var writer = new StreamWriter(stream); foreach (var key in mapping.Keys) { writer.Write(key); writer.Write(','); writer.WriteLine(mapping[key]); } writer.Close(); } 

рдЕрдм рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рд╕реНрдерд┐рдд рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, train_triplets.txt.zip рд╕рдВрдЧреНрд░рд╣ рдЦреЛрд▓реЗрдВ рдФрд░ train_triplets.txt рдлрд╝рд╛рдЗрд▓ рдирд┐рдХрд╛рд▓реЗрдВред



рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдЯреНрд░реЗрди рдХреЗ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдЬреЛрдбрд╝реЗрдВред Triplets.txt рдлрд╝рд╛рдЗрд▓ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ ConvertToMahoutInput рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЛрдб рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рдЧреБрдг рдЪреБрдиреЗрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬрд╝ рдкреЗрдЬ рдкрд░, train_triplets.txt рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдкрде рдЬреЛрдбрд╝реЗрдВред



clip_image006
рдЪрд┐рддреНрд░ 3ред рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛



рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, F5 рдХреБрдВрдЬреА рджрдмрд╛рдПрдВред рдЗрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕ рд╕реНрдерд╛рди рд╕реЗ рдмрд┐рди \ рдбреАрдмрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдЦреЛрд▓реЗрдВ рдЬрд╣рд╛рдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВред



clip_image008
рдЪрд┐рддреНрд░ 4ред ConvertToMahoutInput рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░рд┐рдгрд╛рдо

рдорд╣рддреЛ рдХреА рдЦреЛрдЬ


Https://www.hadooponazure.com рдкрд░ Hadoop Cluster рдкреЛрд░реНрдЯрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



clip_image010
рдЪрд┐рддреНрд░ 4ред рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдЖрдЗрдХрди



рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдмрд┐рди \ рдбреАрдмрдЧ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ mInput.txt рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рджреВрд░рд╕реНрде рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ c: \ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд░реНрдХрд╛рдЗрд╡ рд╕реЗ рдлрд╛рдЗрд▓ рдирд┐рдХрд╛рд▓реЗрдВред



рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ c: \ рдореЗрдВ users.txt рдирд╛рдордХ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд▓рд┐рдЦреЗрдВред



рдиреЛрдЯред рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВред



рдлрд┐рд░ mInput.txt рдФрд░ users.txt рдлрд╛рдЗрд▓ рдХреЛ HDFS рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Hadoop рдХрдорд╛рдВрдб рд╢реЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВред



hadoop fs -copyFromLocal c: \ mInput.txt input \ mInput.txt
hadoop fs -copyFromLocal c: \ users.txt input \ users.txt



рдЕрдм рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рд╣рдбреЙрдк рдЬрд╛рд░ c: \ Apps \ dist \ mahout-mahout-core-0.5-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob --input = input / mInput.xt --output = рдЖрдЙрдЯрдкреБрдЯ - -usersFile = input / users.txt



Mahout рдЬреЙрдм рдХрдИ рдорд┐рдирдЯреЛрдВ рддрдХ рдЪрд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБред



hadoop fs -copyToLocal рдЖрдЙрдЯрдкреБрдЯ / part-r-00000 c: \ output.txt



рдореВрд▓ рдлрд╝реЛрд▓реНрдбрд░ c: \ рд╕реЗ output.txt рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рд╣реИред



рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ [рдЧреАрдд: рд░реЗрдЯрд┐рдВрдЧ, рдЧреАрдд: рд░реЗрдЯрд┐рдВрдЧ, ...]



рдирд┐рд╖реНрдХрд░реНрд╖


рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкреНрд░рдгрд╛рд▓реА рдХрдИ рдЖрдзреБрдирд┐рдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рд╛рдЗрдЯреЛрдВ, рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдФрд░ рдЕрдиреНрдп рдСрдирд▓рд╛рдЗрди рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдорд╣рд╛рд╡рдд рдПрдХ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдФрд░ Hadoop рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЖрдк Windows Azure рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ Hadoop рдФрд░ Apache Mahout рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд▓рд╛рдн рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЬ рд╣реА windowsazure.com/ru-ru рдФрд░ www.hadooponazure.com рдЖрдЬрд╝рдорд╛рдПрдВ

Source: https://habr.com/ru/post/In150359/


All Articles