-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

Hadoop®Ö¤ß§Þ³N

( ²Åé ¦r)
§@ªÌ¡G»C©P°¶¡@µÛÃþ§O¡G1. -> µ{¦¡³]­p -> ¶³­pºâ
ĶªÌ¡G
¥Xª©ªÀ¡G¾÷±ñ¤u·~¥Xª©ªÀHadoop®Ö¤ß§Þ³N 3dWoo®Ñ¸¹¡G 41239
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 345 ¤¸

¥Xª©¤é¡G4/1/2015
­¶¼Æ¡G387
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787111494683
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¼g³o¥»®Ñ

¦p¤µ¬O¤@­Ó¼Æ¾ÚÃz¬µªº®É¥N¡A­Ó¤Hªº¹Ï¤ù¡BµøÀW¡B¤åÀɵ¥¼Æ¾Ú«Ü®e©ö´N¥i¹F¨ì¼Æ¦ÊGBªº³W¼Ò¡A¦Ó¥ø·~ªº¼Æ¾Ú³W¼Ò¼Wªø±o§ó§Ö¡A¥H¤¬Ápºô·j¯Á¤ÞÀº¤½¥q¬°¨Ò¡A©¹©¹»Ý­n¦sÀxª¦ÂÎÀò¨úªº©Ò¦³¯¸ÂIªº­ì©lºô­¶¼Æ¾Ú¡A¦P®ÉÁٻݭn°O¿ý¼Æ¥H»õ­pºô¥Áªº·j¯ÁÂIÀ»¦æ¬°¤Î¤é§Óµ¥­«­n¼Æ¾Ú¡A³o¨Ç¼Æ¾Úªº³W¼Ò¥i¥H¹F¨ìPB¡A¬Æ¦Ü¬OEB¯Å§O¡C¬°¤F¸Ñ¨M³o¨Ç¼Æ¾Úªº¦sÀx©M¬ÛÃö­pºâ°ÝÃD´N¥²¶·ºc«Ø¤@­Ó±j¤j¥Bí©wªº¤À¥¬¦¡¶°¸s¨t²Î¨Ó§@¬°·j¯Á¤ÞÀºªº°ò¦¬[ºc¤ä¼µ¥­»O¡A¦ý¬O¹ï¤j¦h¼Æªº¤¬Ápºô¤½¥q¦Ó¨¥¡A¬ãµo¤@­Ó³o¼Ëªº°ª®Ä¯à¨t²Î©¹©¹­n¤ä¥I°ª©ùªº¶O¥Î¡CµM¦Ó­È±o¼y©¯ªº¬OGoogle¦b2004¦~¤½¥¬¤FÃö¤_¨ä°ò¦¬[ºcªº¨â½g®Ö¤ß½×¤åGFS¡]The Google File System¡^©MMapReduce¡]MapReduce: SimplifiedData Processing on Large Clusters¡^¡A¥¿¬O³o¨â½g½×¤å³þ©w¤FHadoopªº²z½×©M¹ê½î°ò¦¡A¦Ó¦Z³»¯Å¤uµ{®vDoug Cutting±NGoogleªºGFS¤À¥¬¦¡¤å¥ó¨t²Î©MMapReduce¦}¦æ­pºâ¼Ò«¬¹ê²{¥B©R¦W¬°Hadoop¡A¦}±NHadoop¶}©ñ·½¥N½X°^Ämµ¹¶}·½¥@¬É¡C¸g¹L¦h¦~ªºµo®i¡A¦p¤µ¤w¸g§Î¦¨¤F¥HHadoop¬°®Ö¤ßªº¤j¼Æ¾Ú¥ÍºA¨t²Î¡A¶}³Ð¤F³q¥Î®ü¶q¼Æ¾Ú³B²z°ò¦¬[ºc¥­»Oªº¥ýªe¡C

Hadoop¬O¤@­Ó«D±`Àu¨qªº¤À¥¬¦¡­pºâ¨t²Î¡A§Q¥Î³q¥Îªºµw¥ó´N¥i¥Hºc«Ø¤@­Ó±j¤j¡Bí©w¡B²³æ¡A¦}¥B°ª®Äªº¤À¥¬¦¡¶°¸s­pºâ¨t²Î¡A§¹¥þ¥i¥Hº¡¨¬¤¬Ápºô¤½¥q°ò¦¬[ºc¥­»Oªº»Ý¨D¡A¥I¥X¬Û¹ï§C·Gªº¥N»ù´N¥i¥H»´ªQ³B²z¶W¤j³W¼Òªº¼Æ¾Ú¡C¦p¤µHadoop¤w¸g³Q°ê¤º¥~¦U¤j¤½¥q¼sªx¨Ï¥Î¡A¦b°ê¤º¥H¦Ê«×¡BÄË°T¡Bªü¨½µ¥¬°¥NªíªºµÛ¦W¤¬Ápºô¤½¥q¤]³£§Q¥ÎHadoopºc«Ø©³¼hªº¤j¼Æ¾Ú°ò¦¬[ºc¥­»O¡A¦Ó²¾°Ê¡BÁp³q¡B¹q«Hµ¥¹q«H¥ø·~¡A¥H¤Î¹q¤O¡B»È¦æµ¥°ê¤º¶Ç²Î¥ø·~¤]¦b¤j³W¼Ò¨Ï¥ÎHadoop¡C¦]¦¹¾Ç²ß¦}´x´¤Hadoop§Þ³N¤w¸g¬O¶i¤J³o¨Ç¥ø·~ªº°ò¥»§Þ¯à¤§¤@¡C¬ÛÀ³¦a¡A¾Ç²ß©M¨Ï¥ÎHadoop§Þ³Nªº·R¦nªÌ©M¶}µoªÌ¤]¶V¨Ó¶V¦h¡C¥»®Ñ¥¿¬O¦b³o¼Ëªº­I´º¤U³Ð§@¥X¨Óªº¡A§Æ±æ¥i¥HÀ°§U§ó¦hªº¤H¾Ç²ß¦}´x´¤Hadoop§Þ³N¡A±q¦Ó±À°ÊHadoop§Þ³N¦b¤¤°êªº±À¼s¡A¶i¦Ó±À°Ê¤¤°ê«H®§²£·~ªºµo®i¡C

Hadoop¦p¤µ¤w¸gµo¦æ¤F¦h­Óª©¥»¡A¦}¥B²£¥Í¤F¦UºØ¥HHadoop¬°°ò¦ªºÀ³¥Î¨t²Î¡A¦ý¬O´N®Ö¤ß§Þ³N¦Ó¨¥Hadoop¥D­n¦³¨â­Ó­«­nª©¥»¡G²Ä¤@­Ó´N¬O¥HMapReduce¼Ò«¬¬°®Ö¤ß§Þ³Nªºª©¥»¡A¥Ø«e¶}·½Ã­©wª©¥»¬°Hadoop-1.X¡]¥]¬AHadoop-0.20.X¡AHadoop-0.21.X¡AHadoop-0.22.Xµ¥¡^¡F²Ä¤G­Ó´N¬O¥HYARN­pºâ®Ø¬[¬°®Ö¤ß§Þ³Nªº·sª©¥»¡A¥Ø«e³Ì·sª©¥»¬°Hadoop-2.X¡]¥]¬AHadoop-0.23.Xµ¥¡^¡C¥Ø«e¥HMapReduce¼Ò«¬¬°®Ö¤ß§Þ³NªºHadoopª©¥»¤w¸g¦b¤u·~¬Éªº°Ó·~¨t²Î¹B¦æ¦h¦~¡A¤£½×¬O¦bí©w©ÊÁÙ¬O°ª®Ä©Ê¤è­±³£¤w¸g±o¨ì¤F»{¥i¡A¦ÓYARN­pºâ®Ø¬[ÁöµM¦³§ó¦nªº­pºâ¼Ò¦¡¡A¦ý¬O¦bí©w©Ê¤è­±ÁÙ¨S¦³¯u¥¿³Q¤j³W¼Òªº°Ó·~¨t²Î©ÒÃÒ¹ê¡A§ó¦hªº¬O§@¬°¹êÅç¨t²Î©ÎªÌ·s¯S©Ê³Q½Õ¬ã¨Ï¥Î¡C¦]¦¹±N¥»®Ñ¥HMapReduce¼Ò«¬¬°®Ö¤ß§Þ³Nªºª©¥»Hadoop-1.X§@¬°¬ã¨s©MÁ¿¸Ñ¹ï¶H¡A¤À¬°¤T¤j³¡¤À¥Ñ²L¤J²`¶i¦æÁ¿¸Ñ¡A¥]¬A°ò¦½g¡B°ª¯Å½g©M¹ê¾Ô½g¡C¬°¤F¨ÏŪªÌ§ó¦n¦a²z¸Ñ¦}´x´¤Hadoop®Ö¤ß§Þ³N¡A¥»®Ñ¹ï®Ö¤ß¹ê²{¾÷¨î³£µ²¦X¤F·½¥N½X¶i¦æ²`¤J¤ÀªR¡A¦}¦b¹ê¾Ô½g¤¤µ²¦X¹ê»ÚÀ³¥ÎÁ¿¸Ñ¤F¦p¦ó¨Ï¥ÎHadoop¡C

ŪªÌ¹ï¶H

¡]1¡^Hadoop§Þ³N¾Ç²ßªÌ©M·R¦nªÌ

Hadoop§@¬°¤@­Ó¤À¥¬¦¡­pºâ®Ø¬[¤w¸g¦¨¬°¤F¤¬Ápºô¤½¥q°ò¦¬[ºc¨t²Îªº¼Ð°t¡A¤]§l¤Þ¤F¶V¨Ó¶V¦hªº¶}µoªÌ©M·R¦nªÌªºÃöª`¡C¥»®Ñ¦b¼g§@¤W¥Ñºõ¤Î¥Ø¡B¥Ñ²L¤J²`¡A¤@¨B¤@¨B±a»âŪªÌ±qHadoop§Þ³Nªº¤Jªù¶}©l¡A³v¨B¨ì®Ö¤ß­ì²zªº¹ê²{¾÷¨î¥H¤ÎHadoopªº¹ê¾ÔÀ³¥Î¡A¦]¦¹¥»®Ñ¥i¥HÀ°§UHadoop§Þ³N¾Ç²ßªÌ©M·R¦nªÌ§Ö³t¤Jªù¡A¹ïHadoopªº¾Ç²ß°_¨ì¤@­Ó¤ñ¸û¥þ­±¡B²`¤J¦Ó¤S¤£¥F¹ê¾Ô©Êªº¾É¦V§@¥Î¡C

¡]2¡^Hadoop MapReduce¦}¦æÀ³¥Î¶}µoªÌ

Hadoop¥i¥H»¡¬O¤@­Ó´_Âø¦Ó¤S²³æªº¨t²Î¡A»¡¨ä´_Âø¬O¦]¬°Hadoop¦P®É¹ê²{¤F¤À¥¬¦¡¤å¥ó¨t²Î©M¦}¦æ­pºâ®Ø¬[¡A¦b¹ê²{¾÷¨î¤W¦Ò¼{¤F¦UºØ®e¿ù±¡ªp¡A¦]¦¹¤£¥i¿×¤£´_Âø¡F»¡¨ä²³æ¬O¦]¬°Hadoop¦V¦}¦æÀ³¥Î¶}µoªÌ´£¨Ñ¤F«D±`²³æªº½sµ{±µ¤f¡X¡XMap©MReduce¨ç¼Æ¾Þ§@¡A¦]¦¹¡AÀ³¥Î¶}µoªÌ¥u»Ý­n·|¨Ï¥Î³o¨â­Ó½sµ{±µ¤f´N¥i¥H«Ü¤è«K¦a½s¼g³B²z¤j³W¼Ò¼Æ¾Úªº¦}¦æÀ³¥Îµ{§Ç¡C¦ý¬O¦pªG¶}µoªÌ·Q­n½s¼g°ª½è¶qªº¦}¦æµ{§Ç¡A¦Ó¥uÀ´±o°ò¥»ªºMapReduce½sµ{¤èªkªÖ©w¬O¤£°÷ªº¡A³o¬Û·í¤_ª¾¨äµM¦Ó¤£ª¾¨ä©Ò¥HµM¡A¦]¦¹¶}µo¤H­ûÁٻݭnª¾¨ä©Ò¥HµM¡X¡X¥²¶·²z¸ÑHadoopªº®Ö¤ß¹ê²{¾÷¨î¡A»Ý­n¹ïHadoop®Ø¬[¦³¤@­Ó¥þ­±¦Ó¤S²`¤Jªº»{ÃÑ©M²z¸Ñ¡A¥u¦³³o¼ËHadoopÀ³¥Î¶}µoªÌ¤~¯à½s¼g¥X°ª®Ä¦Ó¤S²¼äªºMapReduceÀ³¥Îµ{§Ç¡C

¡]3¡^Hadoop¶°¸s¹Bºû¤H­û

Hadoop¹Bºû¤uµ{®v¥i¥H»¡¬O´_¦X«¬¤H¤~¡A¦]¬°Hadoopªº¹Bºû¤£¶È»Ý­n¼ô±xLinux¨t²Îªº¹Bºû¤èªk¡AÁٻݭn«D±`¼ô±xHadoopªº¦UºØºÞ²z©R¥O¡A¤£¶È¦p¦¹¡AÁÙ­n¤F¸ÑHadoop¶°¸s·f«Ø¡BÅv­­ºÞ²z¡B§@·~½Õ«×ºÞ²z»PºûÅ@µ¥¡C¥»®Ñ¦bHadoop©R¥O¨t²Î©M¶°¸s·f«Ø¤è­±±Mªù½s±Æ¤F³¹¸`¶i¦æÁ¿¸Ñ¡A¦]¦¹¥i¥H§@¬°Hadoop¹Bºû¤uµ{®vªº¤u¨ã®Ñ¡CHadoop¹Bºû¤uµ{®vªº¥D­n¾³dÁöµM¬O³q¹L¶°¸s¹Bºû«OÃÒHadoopªº°ª¥i¾a©Ê©M°ª¥i¥Î©Ê¡A¦ý¬O¤´µM»Ý­n¹ïHadoopªº®Ö¤ß¹ê²{¾÷¨î¡A¬Æ¦Ü¬O¬Y¨Ç¹ê²{²Ó¸`¶i¦æ²`¤J²z¸Ñ¡A¥u¦³³o¼Ë¤~¥i¥H¦b¶°¸s¥X²{²§±`®É§Ö³t§ä¥X°ÝÃD¡A°_¨ìÀA¤W²Kªáªº§@¥Î¡A¦]¦¹¥»®Ñ¹ïHadoop¹Bºû¤uµ{¨Ó»¡¤]¬O¤@¥»­È±oºëŪªº°Ñ¦Ò®Ñ¡C

¡]4¡^¤À¥¬¦¡¨t²Îªº¬ÛÃö¬ãµo¤H­û

Hadoop¥i¥H»¡¬O¤À¥¬¦¡¨t²Î»â°ì¤¤ªº¸g¨å¤§§@¡A¤À¥¬¦¡¤å¥ó¨t²Î©M¤À¥¬¦¡­pºâ¨t²Î¤¤ªº®Ö¤ß²z½×¤èªk³£¦bHadoop¤¤¦³«Ü¦nªº¹ê²{¡C¦]¦¹¡A³q¹L¹ïHadoopªº¾Ç²ß¤£¦ý¥i¥H²z¸Ñ¤À¥¬¦¡¨t²Î¤¤ªº²z½×¤èªk¡A¦Ó¥BÁÙ¥i¥H²`¤J²z¸Ñ³o¨Ç²z½×¤èªk¨ãÅ骺¹ê²{¾÷¨î¡C

¡]5¡^¤j¼Æ¾Ú§Þ³N¾Ç²ßªÌ©M¤j¼Æ¾Ú¤uµ{®v

¦pªG±q¤j¼Æ¾Úªº¨¤«×¨ÓÁ¿¡AHadoopµLºÃ¬O¥Ø«e¨Ï¥Î³Ì¬°¼sªxªº¤j¼Æ¾Ú¥­»O¡C¯S§O¬O¦b¤¬Ápºô»â°ì¡AHadoop¼Æ¾Ú¥­»O§@¬°©³¼h°ò¦¬[ºc¨t²Î¤ä¼µµÛ¤j¦h¼Æªº¼Æ¾Ú²Î­p¤ÀªRÀ³¥Î¡A¦]¦¹¹ï¤_¤j¼Æ¾Ú§Þ³N¾Ç²ßªÌ©M¤j¼Æ¾Ú¤uµ{®v¦Ó¨¥¡A¾Ç²ßHadoop§Þ³N¬O¶i¤J¤j¼Æ¾Ú»â°ìªº¤@­Ó«Ü¦nªº¤Á¤JÂI¡C

¦p¦ó¾\Ū¥»®Ñ

¥»®Ñ¤À¬°¤T½g¡C

²Ä¤@½g¬°°ò¦½g¡]²Ä1¡ã6³¹¡^¡A±q»{ÃÑHadoop¶}©l¡AÁ¿¸ÑHadoopªº«e¥@¤µ¥Í¥H¤Î¨Ï¥Î»â°ì¡AµM¦Z¥¿¦¡¤¶²ÐHadoopªº°ò¥»¨Ï¥Î¡AÀ°§UŪªÌ¤F¸ÑHadoopªº­I´ºª¾ÃÑ©M²³æ¨Ï¥Î¤èªk¡A±µµÛ³q¹LHDFS¤À¥¬¦¡¤å¥ó¨t²Î©MMapReduce¦}¦æ­pºâ¼Ò«¬±q²z½×©M¹ê²{¾÷¨îªº¨¤«×¹ïHadoop®Ö¤ß§Þ³N¶i¦æÁ¿¸Ñ¡A³Ì¦Z¹ïHadoopªº©R¥O¨t²Î¶i¦æ¤F¨t²Îªº¤¶²Ð¡C¹ï¤_ªì¯Å©M¤¤¯ÅŪªÌ¦Ó¨¥¡A²Ä¤@½gªº¤º®e»Ý­n­«ÂI¾\Ū©M¾Ç²ß¡A³o½g¬OHadoop®Ö¤ß§Þ³Nªº°ò¦¡A¥u¦³°ò¦ª¾ÃѤã¹ê¦Z¤~¯à§ó¦n¦a´x´¤Hadoopªº°ª¯Å¥\¯à©MºëÅè¡C

²Ä¤G½g¬°°ª¯Å½g¡]²Ä7¡ã9³¹¡^¡A±q­ì²z»P¹ê²{ªº¨¤«×¹ïHadoopªº®Ö¤ß¥\¯à¶i¦æ¤F²`¤Jªº¬ã¨s¡A²[»\MapReduce²`«×¤ÀªR¡BHadoop Streaming©MPipes­ì²z¸ÑªR¡A¥H¤ÎHadoop§@·~½Õ«×¾¹¨t²Îªº²`¤J¬ã¨s©MÁ¿¸Ñ¡C¥»½g¤º®e¾A¦X¦b¾\Ū¤F°ò¦½gªº°ò¦¤W©ÎªÌ¤w¸g¹ïHadoopªº®Ö¤ß­ì²z¦³¤F¤@©w²z¸Ñªº°ò¦¤W¶i¦æ¾\Ū¡C

²Ä¤T½g¬°¹ê¾Ô½g¡]²Ä10¡ã12³¹¡^¡A±q¹ê¾Ôªº¨¤«×¶i¦æÁ¿¸Ñ¡A­º¥ýÁ¿­zHadoop¶°¸s·f«Ø§Þ³N¡AµM¦Z¹ïStreaming©MPipes½sµ{¶i¦æ¤F¹ê¾Ô¯ÅªºÀ³¥ÎÁ¿¸Ñ¡AStreaming½sµ{±µ¤f¬O¤@­Ó«D±`²³æ¥B°ª®ÄªºMapReduce½sµ{¤è¦¡¡A¥Ñ¤_¤£­­¨î½sµ{»y¨¥¡A¦]¦¹Streamingªº¨Ï¥Î¤ñJava­ì¥Í±µ¤fÀ³¥Î±oÁÙ­n¼sªx¡A¥Ñ¦¹¥i¨£¡A¾Ç²ß¦}´x´¤Streaming½sµ{§Þ³N«D±`¦³§U¤_³n¥ó¤uµ{®vªºHadoopÀ³¥Î§Þ³Nªº´£°ª¡C²Ä12³¹Á¿¸Ñ¤FHadoop MapReduceÀ³¥Î¶}µo¹ê¾Ô¡A±q¾ãÅ骺¦}¦æÀ³¥Î¶}µo¨¤«×¶i¦æÁ¿¸Ñ¡A¹ï¹ê»Ú¶}µo¹Lµ{¤¤ªº±`¥Î¥\¯à¨Ï¥Î©M±`¨£°ÝÃD¸Ñ¨M³£¶i¦æ¤F¤¶²Ð¡C³o³¡¤À¤º®e¾A¦X¦b¹ê»Ú¤u§@¤¤¨Ï¥ÎHadoop¶}µoÀ³¥Îªº¤uµ{®v¾\Ū©M¾Ç²ß¡C

°É»~©M¤ä«ù

¥Ñ¤_§@ªÌªº¤ô¥­¦³­­¥B½s¼g®É¶¡­Ü«P¡A®Ñ¤¤Ãø§K·|¥X²{¤@¨Ç¿ù»~©ÎªÌ¤£·Ç½Tªº¦a¤è¡AÀµ½ÐŪªÌ§åµû«ü¥¿¡C¬°¦¹¡A¯S·N³Ð«Ø¤@­Ó¦b½u¤ä«ù»PÀ³«æ¤è®×ªº¤G¯Åºô¯¸¡Ghttp://book.zhaizhouwei.cn¡CŪªÌ¥i¥H±N®Ñ¤¤ªº¿ù»~µo¥¬¦bBug°É»~ªí­¶­±¤¤¡A¦¹¥~¦pªG§A¹J¨ì¥ô¦ó°ÝÃD¡A¤]¥i¥H³X°ÝQ&A­¶­±¡A§Ú±NºÉ¶q¦b½u¤W¬°ÅªªÌ´£¨Ñ³Ìº¡·Nªº¸Ñµª¡C¦pªG§A¦³§ó¦hªºÄ_¶Q·N¨£¡A¤]Åwªïµo°e¶l¥ó¦Ü¶l½czhaizhouwei@163.com¡A´Á«Ý¯à°÷±o¨ì§A­Ìªº¯u¼°¤ÏõX¡C

­PÁÂ

·PÁÂ¥_¨Ê¶l¹q¤j¾Ç§f¥Éµ^±Ð±Â¡B¼B­è³Õ¤h¡B«JÙy³Õ¤h¡B§õ«Â®ü³Õ¤hµ¥¦Ñ®v¡A¬O¥L­Ì¦b§ÚŪ¬ãªº®É­Ô±x¤ß«ü¾É§Ú¶i¤J¤j¼Æ¾Ú¥H¤Î²Î­p«õ±¸»â°ì¡A¦}¨Ï§Ú¯à¦b2009¦~´N¶}©l¾Ç²ß¦}¨Ï¥ÎHadoop§Þ³N¡A¤~¨Ï±o¥»®Ñ¤µ¤éªº¥Xª©¦¨¬°¥i¯à¡C¯S§O·PÁ¦ʫ׺ô­¶·j¯Á³¡§Þ³NÁ`ºÊ¨H§Ý³Õ¤h¦b¦Ê¦£¤§¤¤©â¥X®É¶¡¹ï¥»®Ñ¶i¦æ³qŪ¦}«ü¥¿¡A¦b¦h­Ó³¹¸`´£¥X¤F«D±`±M·~ªº«ü¾É«Øij¡C¦b¦¹¯u¤ßªº·PÁÂ¥L­Ì¡C

·PÁ¾÷±ñ¤u·~¥Xª©ªÀµØ³¹¤½¥qªº·¨ºÖ¤t¦Ñ®v©M«¸¼v¦Ñ®v¡A±q¥»®Ñªºªì´Áµ¦¹º¨ì³Ì²×ªº¥Xª©¹Lµ{¤¤©l²×¤ä«ù§Úªº¼g§@¡A¬O¥L­Ìªº¹ªÀy©MÀ°§U¤Þ¾É§Ú¯à¶¶§Q§¹¦¨¥þ³¡®Ñ½Z¡C

³Ì¦Z·PÁ§ڪºª¨ª¨¡B¶ý¶ýµ¥®a¤H¡A·PÁÂ¥L­Ìµ¹§Úªº¹ªÀy¦}®É¨èµ¹¤©§Ú«H¤ß©M¤O¶q¡I·PÁ§ڪº¤Ò¤H¼Ú¶§¯øµ¹§Ú¥Í¬¡¤Wªº±x¤ß·ÓÅU¥H¤Î¦bº¾¸H¨Æ±¡¤Wªº¼e®e¤j«×¡C

ÂÔ¥H¦¹®ÑÄmµ¹§Ú³Ì¿Ë·Rªº®a¤H¡B¦P¨Æ¡A¥H¤Î²³¦h¼ö·RHadoopªºªB¤Í­Ì¡I



»C©P°¶
¤º®e²¤¶¡G

²¤¶
³o¬O¤@¥»§Þ³N²`«×»P¥ø·~¹ê½î¦}­«ªºµÛ§@¡A¥Ñ¦Ê«×³»¦yªºHadoop§Þ³N¤uµ{®v¼¶¼g¡A¬O¦Ê«×Hadoop§Þ³N¹ê½î¸gÅ窺Á`µ²¡C¥»®Ñ±q¨Ï¥Î¡B¹ê²{­ì²z¡B¹Bºû©M¶}µo4­Ó¤è­±¹ïHadoopªº®Ö¤ß§Þ³N¶i¦æ¤F²`¤JªºÁ¿¸Ñ¡C
¨Ï¥Î¡G¸Ô²ÓÁ¿¸Ñ¤FHDFS¦sÀx¨t²Î¡BMapReduce­pºâ®Ø¬[¡A¥H¤ÎHDFSªº©R¥O¨t²Î¡F
­ì²z¡Gµ²¦X·½¥N½X¡A²`«×¤ÀªR¤FMapReduce¡BHDFS¡BStreaming¡BPipes¡BHadoop§@·~½Õ«×¨t²Îµ¥­«­n§Þ³N©M²Õ¥óªº¬[ºc³]­p¡B¤u§@¾÷¨î©M¹ê²{­ì²z¡F
¹Bºû¡Gµ²¦X¦Ê«×ªº¹ê»Ú¥Í²£Àô¹Ò¡A¸Ô²ÓÁ¿¸Ñ¤FHadoop¶°¸sªº¦w¸Ë¡B°t¸m¡B´ú¸Õ¥H¤ÎºÞ²z©M¹Bºû¡F
¶}µo¡G¸Ô²ÓÁ¿¸Ñ¤FHadoop Streaming¡BPipesªº¨Ï¥Î©M¶}µo¹ê½î¡A¥H¤ÎMapReduceªº½sµ{¹ê½î©M±`¨£°ÝÃD¡C
»P¥«­±¤W¤w¦³ªºHadoop¹Ï®Ñ¬Û¤ñ¡A¥»®Ñ³Ì¤jªº¤£¦P¤§³B¬O¥¦ª½À»¥ø·~À³¥Î©M¹ê½îHadoop§Þ³NªºµhÂI¡A²`¤JÁ¿¸Ñ¤F¥ø·~³Ì»Ý­n©M³ÌÀY¯kªº§Þ³N©M°ÝÃD¡A¤º®e«D±`»EµJ¡C
¥Ø¿ý¡G

«e¡@¨¥

°ò¡@¦¡@½g

²Ä1³¹¡@»{ÃÑHadoop 2

1.1¡@½t¤_·j¯Áªº¤p¶H 2

1.1.1¡@Hadoopªº¨­¥@ 2

1.1.2¡@Hadoop²¤¶ 3

1.1.3¡@Hadoopµo®i²¥v 6

1.2¡@¤j¼Æ¾Ú¡BHadoop©M¤ª­pºâ 7

1.2.1¡@¤j¼Æ¾Ú 7

1.2.2¡@¤j¼Æ¾Ú¡BHadoop©M¤ª­pºâªºÃö¨t 8

1.3¡@³]­p«ä·Q»P¬[ºc 9

1.3.1¡@¼Æ¾Ú¦sÀx»P¤Á¤À 9

1.3.2¡@MapReduce¼Ò«¬ 11

1.3.3¡@MPI©MMapReduce 13

1.4¡@°ê¥~HadoopªºÀ³¥Î²{ª¬ 13

1.5¡@°ê¤ºHadoopªºÀ³¥Î²{ª¬ 17

1.6¡@Hadoopµo¦æª© 20

1.6.1¡@Apache Hadoop 20

1.6.2¡@Cloudera Hadoop 20

1.6.3¡@Hortonworks Hadoopµo¦æª© 21

1.6.4¡@MapR Hadoopµo¦æª© 22

1.6.5¡@IBM Hadoopµo¦æª© 24

1.6.6¡@Intel Hadoopµo¦æª© 24

1.6.7¡@µØ¬°Hadoopµo¦æª© 25

1.7¡@¤pµ² 26

²Ä2³¹¡@Hadoop¨Ï¥Î¤§ªìÅéÅç 27

2.1¡@·f«Ø´ú¸ÕÀô¹Ò 27

2.1.1¡@³n¥ó»P·Ç³Æ 27

2.1.2¡@¦w¸Ë»P°t¸m 28

2.1.3¡@±Ò°Ê»P°±¤î 29

2.2¡@ºâªk¤ÀªR»P³]­p 31

2.2.1¡@Map³]­p 31

2.2.2¡@Reduce³]­p 32

2.3¡@¹ê²{±µ¤f 32

2.3.1¡@Java API¹ê²{ 33

2.3.2¡@Streaming±µ¤f¹ê²{ 36

2.3.3¡@Pipes±µ¤f¹ê²{ 38

2.4¡@½sĶ 40

2.4.1¡@°ò¤_Java API¹ê²{ªº½sĶ 40

2.4.2¡@°ò¤_Streaming¹ê²{ªº½sĶ 40

2.4.3¡@°ò¤_Pipes¹ê²{ªº½sĶ 41

2.5¡@´£¥æ§@·~ 41

2.5.1¡@°ò¤_Java API¹ê²{§@·~´£¥æ 41

2.5.2¡@°ò¤_Streaming¹ê²{§@·~´£¥æ 42

2.5.3¡@°ò¤_Pipes¹ê²{§@·~´£¥æ 43

2.6¡@¤pµ² 44

²Ä3³¹¡@Hadoop¦sÀx¨t²Î 45

3.1¡@°ò¥»·§©À 46

3.1.1¡@NameNode 46

3.1.2¡@DateNode 46

3.1.3¡@«È¤áºÝ 47

3.1.4¡@¶ô 47

3.2¡@HDFSªº¯S©Ê©M¥Ø¼Ð 48

3.2.1¡@HDFSªº¯S©Ê 48

3.2.2¡@HDFSªº¥Ø¼Ð 48

3.3¡@HDFS¬[ºc 49

3.3.1¡@Master/Slave¬[ºc 49

3.3.2¡@NameNode©MSecondary NameNode³q«H¼Ò«¬ 51

3.3.3¡@¤å¥ó¦s¨ú¾÷¨î 52

3.4¡@HDFS®Ö¤ß³]­p 54

3.4.1¡@Block¤j¤p 54

3.4.2¡@¼Æ¾Ú´_¨î 55

3.4.3¡@¼Æ¾Ú°Æ¥»¦s©ñµ¦²¤ 56

3.4.4¡@¼Æ¾Ú²Õ´ 57

3.4.5¡@ªÅ¶¡¦^¦¬ 57

3.4.6¡@³q«H¨óij 58

3.4.7¡@¦w¥þ¼Ò¦¡ 58

3.4.8¡@¾÷¬[·Pª¾ 59

3.4.9¡@°·§§©Ê 59

3.4.10¡@­t¸ü§¡¿Å 60

3.4.11¡@¤É¯Å©M¦^ºu¾÷¨î 62

3.5¡@HDFSÅv­­ºÞ²z 64

3.5.1¡@¥Î¤á¨­¥÷ 64

3.5.2¡@¨t²Î¹ê²{ 65

3.5.3¡@¶W¯Å¥Î¤á 65

3.5.4¡@°t¸m°Ñ¼Æ 65

3.6¡@HDFS°tÃBºÞ²z 66

3.7¡@HDFSªº¯ÊÂI 67

3.8¡@¤pµ² 68

²Ä4³¹¡@HDFSªº¨Ï¥Î 69

4.1¡@HDFSÀô¹Ò·Ç³Æ 69

4.1.1¡@HDFS¦w¸Ë°t¸m 69

4.1.2¡@HDFS®æ¦¡¤Æ»P±Ò°Ê 70

4.1.3¡@HDFS¹B¦æÀˬd 70

4.2¡@HDFS©R¥Oªº¨Ï¥Î 71

4.2.1¡@fs shell 71

4.2.2¡@archive 77

4.2.3¡@distcp 78

4.2.4¡@fsck 81

4.3¡@HDFS Java APIªº¨Ï¥Î¤èªk 82

4.3.1¡@Java API²¤¶ 82

4.3.2¡@Ū¤å¥ó 82

4.3.3¡@¼g¤å¥ó 86

4.3.4¡@§R°£¤å¥ó©Î¥Ø¿ý 90

4.4¡@C±µ¤flibhdfs 91

4.4.1¡@libhdfs¤¶²Ð 91

4.4.2¡@½sĶ»P³¡¸p 91

4.4.3¡@libhdfs±µ¤f¤¶²Ð 92

4.4.4¡@libhdfs¨Ï¥ÎÁ|¨Ò 95

4.5¡@WebHDFS±µ¤f 97

4.5.1¡@WebHDFS REST API²¤¶ 97

4.5.2¡@WebHDFS°t¸m 98

4.5.3¡@WebHDFS¨Ï¥Î 98

4.5.4¡@WebHDFS¿ù»~ÅTÀ³©M¬d¸ß°Ñ¼Æ 101

4.6¡@¤pµ² 103

²Ä5³¹¡@MapReduce­pºâ®Ø¬[ 104

5.1¡@Hadoop MapReduce²¤¶ 104

5.2¡@MapReduce¼Ò«¬ 105

5.2.1¡@MapReduce½sµ{¼Ò«¬ 105

5.2.2¡@MapReduce¹ê²{­ì²z 106

5.3¡@­pºâ¬yµ{»P¾÷¨î 108

5.3.1¡@§@·~´£¥æ©Mªì©l¤Æ 108

5.3.2¡@Mapper 110

5.3.3¡@Reducer 111

5.3.4¡@Reporter©MOutputCollector 112

5.4¡@MapReduceªº¿é¤J/¿é¥X®æ¦¡ 113

5.4.1¡@¿é¤J®æ¦¡ 113

5.4.2¡@¿é¥X®æ¦¡ 118

5.5¡@®Ö¤ß°ÝÃD 124

5.5.1¡@Map©MReduce¼Æ¶q 124

5.5.2¡@§@·~°t¸m 126

5.5.3¡@§@·~°õ¦æ©MÀô¹Ò 127

5.5.4¡@§@·~®e¿ù¾÷¨î 129

5.5.5¡@§@·~½Õ«× 131

5.6¡@¦³¥ÎªºMapReduce¯S©Ê 132

5.6.1¡@­p¼Æ¾¹ 132

5.6.2¡@DistributedCache 134

5.6.3¡@Tool 135

5.6.4¡@IsolationRunner 136

5.6.5¡@Prof?iling 136

5.6.6¡@MapReduce½Õ¸Õ 136

5.6.7¡@¼Æ¾ÚÀ£ÁY 137

5.6.8¡@Àu¤Æ 138

5.7¡@¤pµ² 138

²Ä6³¹¡@Hadoop©R¥O¨t²Î 139

6.1¡@Hadoop©R¥O¨t²Îªº²Õ¦¨ 139

6.2¡@¥Î¤á©R¥O 141

6.3¡@ºÞ²z­û©R¥O 144

6.4¡@´ú¸Õ©R¥O 148

6.5¡@À³¥Î©R¥O 156

6.6¡@Hadoopªºstreaming©R¥O 163

6.6.1¡@streaming©R¥O 163

6.6.2¡@°Ñ¼Æ¨Ï¥Î¤ÀªR 164

6.7¡@Hadoopªºpipes©R¥O 168

6.7.1¡@pipes©R¥O 168

6.7.2¡@°Ñ¼Æ¨Ï¥Î¤ÀªR 169

6.8¡@¤pµ² 170

°ª¡@¯Å¡@½g

²Ä7³¹¡@MapReduce²`«×¤ÀªR 172

7.1¡@MapReduceÁ`µ²ºc¤ÀªR 172

7.1.1¡@¼Æ¾Ú¬y¦V¤ÀªR 172

7.1.2¡@³B²z¬yµ{¤ÀªR 174

7.2¡@MapTask¹ê²{¤ÀªR 176

7.2.1¡@Á`ÅÞ¿è¤ÀªR 176

7.2.2¡@Read¶¥¬q 178

7.2.3¡@Map¶¥¬q 178

7.2.4¡@Collector©MPartitioner¶¥¬q 180

7.2.5¡@Spill¶¥¬q 181

7.2.6¡@Merge¶¥¬q 185

7.3¡@ReduceTask¹ê²{¤ÀªR 186

7.3.1¡@Á`ÅÞ¿è¤ÀªR 186

7.3.2¡@Shuffle¶¥¬q 187

7.3.3¡@Merge¶¥¬q 189

7.3.4¡@Sort¶¥¬q 190

7.3.5¡@Reduce¶¥¬q 191

7.4¡@JobTracker¤ÀªR 192

7.4.1¡@JobTrackerªA°È¤ÀªR 192

7.4.2¡@JobTracker±Ò°Ê¤ÀªR 193

7.4.3¡@JobTracker®Ö¤ß¤l½uµ{¤ÀªR 195

7.5¡@TaskTracker¤ÀªR 201

7.5.1¡@TaskTracker±Ò°Ê¤ÀªR 201

7.5.2¡@TaskTracker®Ö¤ß¤l½uµ{¤ÀªR 205

7.6¡@¤ß¸õ¾÷¨î¹ê²{¤ÀªR 207

7.6.1¡@¤ß¸õÀË´ú¤ÀªR 207

7.6.2¡@TaskTracker.transmitHeart-Beat() 207

7.6.3¡@JobTracker.heartbeat() 209

7.6.4¡@JobTracker.processHeartbeat() 212

7.7¡@§@·~³Ð«Ø¤ÀªR 213

7.7.1¡@ªì©l¤Æ¤ÀªR 214

7.7.2¡@§@·~´£¥æ¤ÀªR 215

7.8¡@§@·~°õ¦æ¤ÀªR 217

7.8.1¡@JobTrackerªì©l¤Æ 218

7.8.2¡@TaskTracker.startNewTask() 220

7.8.3¡@TaskTracker.localizeJob() 220

7.8.4¡@TaskRunner.run() 221

7.8.5¡@MapTask.run() 222

7.9¡@¤pµ² 223

²Ä8³¹¡@Hadoop Streaming©MPipes­ì²z»P¹ê²{ 224

8.1¡@Streaming­ì²z²LªR 224

8.2¡@Streaming¹ê²{¬[ºc 226

8.3¡@Streaming®Ö¤ß¹ê²{¾÷¨î 227

8.3.1¡@¥D±±®Ø¬[¹ê²{ 227

8.3.2¡@¥Î¤á¶iµ{ºÞ²z 228

8.3.3¡@®Ø¬[©M¥Î¤áµ{§Çªº¥æ¤¬ 229

8.3.4¡@PipeMapper©MPiperReducer 230

8.4¡@Pipes­ì²z²LªR 231

8.5¡@Pipes¹ê²{¬[ºc 233

8.6¡@Pipes®Ö¤ß¹ê²{¾÷¨î 234

8.6.1¡@¥D±±Ãþ¹ê²{ 234

8.6.2¡@¥Î¤á¶iµ{ºÞ²z 235

8.6.3¡@PipesMapRunner 235

8.6.4¡@PipesReducer 238

8.6.5¡@C++ºÝHadoopPipes 238

8.7¡@¤pµ² 239

²Ä9³¹¡@Hadoop§@·~½Õ«×¨t²Î 240

9.1¡@§@·~½Õ«×·§­z 241

9.1.1¡@¬ÛÃö·§©À 241

9.1.2¡@§@·~½Õ«×¬yµ{ 242

9.1.3¡@¶°¸s¸ê·½²Õ´»PºÞ²z 243

9.1.4¡@¶¤¦C±±¨î©MÅv­­ºÞ²z 244

9.1.5¡@´¡¥ó¦¡½Õ«×®Ø¬[ 245

9.2¡@FIFO½Õ«×¾¹ 246

9.2.1¡@°ò¥»½Õ«×µ¦²¤ 246

9.2.2¡@FIFO¹ê²{¤ÀªR 247

9.2.3¡@FIFOªì©l¤Æ»P°±¤î 248

9.2.4¡@§@·~ºÊÅ¥±±¨î 249

9.2.5¡@¥ô°È¤À°tºâªk 250

9.2.6¡@°t¸m»P¨Ï¥Î 254

9.3¡@¤½¥­½Õ«×¾¹ 254

9.3.1¡@²£¥Í­I´º 254

9.3.2¡@¥D­n¥\¯à 255

9.3.3¡@°ò¥»½Õ«×µ¦²¤ 255

9.3.4¡@FairScheduler¹ê²{¤ÀªR 257

9.3.5¡@FairScheduler±Ò°±¤ÀªR 258

9.3.6¡@§@·~ºÊÅ¥±±¨î 260

9.3.7¡@¸ê·½¦ÀºÞ²z 260

9.3.8¡@§@·~§ó·sµ¦²¤ 262

9.3.9¡@§@·~Åv­«©M¸ê·½¶qªº­pºâ 266

9.3.10¡@¥ô°È¤À°tºâªk 267

9.3.11¡@FairScheduler°t¸m°Ñ¼Æ 268

9.3.12¡@¨Ï¥Î»PºÞ²z 270

9.4¡@®e¶q½Õ«×¾¹ 272

9.4.1¡@²£¥Í­I´º 272

9.4.2¡@¥D­n¥\¯à 272

9.4.3¡@°ò¥»½Õ«×µ¦²¤ 274

9.4.4¡@CapacityScheduler¹ê²{¤ÀªR 274

9.4.5¡@CapacityScheduler±Ò°±¤ÀªR 275

9.4.6¡@§@·~ºÊÅ¥±±¨î 277

9.4.7¡@§@·~ªì©l¤Æ¤ÀªR 277

9.4.8¡@¥ô°È¤À°tºâªk 278

9.4.9¡@¤º¦s¤Ç°t¾÷¨î 279

9.4.10¡@°t¸m»P¨Ï¥Î 280

9.5¡@½Õ«×¾¹¹ï¤ñ¤ÀªR 283

9.5.1¡@½Õ«×µ¦²¤¹ï¤ñ 283

9.5.2¡@¶¤¦C©MÀu¥ý¯Å 283

9.5.3¡@¸ê·½¤À°t«OÃÒ 283

9.5.4¡@§@·~­­¨î 284

9.5.5¡@°t¸mºÞ²z 284

9.5.6¡@ÂX®i©Ê¤ä«ù 284

9.5.7¡@¸ê·½·m¥e©M©µ¿ð½Õ«× 284

9.5.8¡@Àu¯ÊÂI¤ÀªR 285

9.6¡@¨ä¥L½Õ«×¾¹ 285

9.6.1¡@HOD½Õ«×¾¹ 285

9.6.2¡@LATE½Õ«×¾¹ 286

9.7¡@¤pµ² 288

¹ê¡@¾Ô¡@½g

²Ä10³¹¡@Hadoop¶°¸s·f«Ø 290

10.1¡@Hadoopª©¥»ªº¿ï¾Ü 290

10.2¡@¶°¸s°ò¦µw¥ó»Ý¨D 291

10.2.1¡@¤º¦s 291

10.2.2¡@CPU 292

10.2.3¡@ºÏ½L 292

10.2.4¡@ºô¥d 293

10.2.5¡@ºôµ¸©Ý¼³ 293

10.3¡@¶°¸s°ò¦³n¥ó»Ý¨D 294

10.3.1¡@¾Þ§@¨t²Î 294

10.3.2¡@JVM©MSSH 295

10.4¡@µêÀÀ¤Æ»Ý¨D 295

10.5¡@¨Æ«e·Ç³Æ 296

10.5.1¡@³Ð«Ø¦w¸Ë¥Î¤á 296

10.5.2¡@¦w¸ËJava 297

10.5.3¡@¦w¸ËSSH¦}³]¸m 297

10.5.4¡@¨¾¤õùٺݤf³]¸m 298

10.6¡@¦w¸ËHadoop 298

10.6.1¡@¦w¸ËHDFS 299

10.6.2¡@¦w¸ËMapReduce 299

10.7¡@¶°¸s°t¸m 300

10.7.1¡@°t¸mºÞ²z 300

10.7.2¡@Àô¹ÒÅܶq°t¸m 301

10.7.3¡@®Ö¤ß°Ñ¼Æ°t¸m 302

10.7.4¡@HDFS°Ñ¼Æ°t¸m 303

10.7.5¡@MapReduce°Ñ¼Æ°t¸m 306

10.7.6¡@masters©Mslaves°t¸m 313

10.7.7¡@«È¤áºÝ°t¸m 313

10.8¡@±Ò°Ê©M°±¤î 314

10.8.1¡@±Ò°Ê/°±¤îHDFS 314

10.8.2¡@±Ò°Ê/°±¤îMapReduce 315

10.8.3¡@±Ò°ÊÅçÃÒ 315

10.9¡@¶°¸s°ò·Ç´ú¸Õ 316

10.9.1¡@HDFS°ò·Ç´ú¸Õ 316

10.9.2¡@MapReduce°ò·Ç´ú¸Õ 317

10.9.3¡@ºî¦X©Ê¯à´ú¸Õ 318

10.10¡@¶°¸s·f«Ø¹ê¨Ò 319

¡@10.10.1¡@³¡¸pµ¦²¤ 319

¡@10.10.2¡@³n¥ó©Mµw¥óÀô¹Ò 320

¡@10.10.3¡@Hadoop¦w¸Ë 321

¡@10.10.4¡@°t¸mcore-site.xml 321

¡@10.10.5¡@°t¸mhdfs-site.xml 322

¡@10.10.6¡@°t¸mmapred-site.xml 322

¡@10.10.7¡@SecondaryNameNode©MSlave 324

¡@10.10.8¡@°t¸m§@·~¶¤¦C 324

¡@10.10.9¡@°t¸m²Ä¤T¤è½Õ«×¾¹ 325

¡@10.10.10¡@±Ò°Ê»PÅçÃÒ 327

10.11¡@¤pµ² 327

²Ä11³¹¡@Hadoop Streaming©MPipes½sµ{¹ê¾Ô 328

11.1¡@Streaming°ò¦½sµ{ 328

11.1.1¡@Streaming½sµ{¤Jªù 328

11.1.2¡@Map©MReduce¼Æ¥Ø 331

11.1.3¡@¶¤¦C¡BÀu¥ý¯Å¤ÎÅv­­ 332

11.1.4¡@¤Àµo¤å¥ó©MÀ£ÁY¥] 333

11.1.5¡@À£ÁY°Ñ¼Æªº¨Ï¥Î 336

11.1.6¡@¥»¦a§@·~ªº½Õ¸Õ 338

11.2¡@Streaming°ª¯ÅÀ³¥Î 338

11.2.1¡@°Ñ¼Æ»PÀô¹ÒÅܶq¶Ç»¼ 339

11.2.2¡@¦Û©w¸q¤À¹j²Å 340

11.2.3¡@¦Û©w¸qPartitioner 343

11.2.4¡@¦Û©w¸q­p¼Æ¾¹ 347

11.2.5¡@³B²z¤G¶i¨î¼Æ¾Ú 347

11.2.6¡@¨Ï¥Î»E¦X¨ç¼Æ 351

11.3¡@Pipes½sµ{±µ¤f 352

11.3.1¡@TaskContext 352

11.3.2¡@Mapper 353

11.3.3¡@Reducer 354

11.3.4¡@Partitioner 354

11.3.5¡@RecordReader 355

11.3.6¡@RecordWriter 356

11.4¡@Pipes½sµ{À³¥Î 357

11.5¡@¤pµ² 359

²Ä12³¹¡@Hadoop MapReduceÀ³¥Î¶}µo 360

12.1¡@¶}µoÀô¹Ò·Ç³Æ 360

12.2¡@Eclipse¶°¦¨Àô¹Ò¶}µo 361

12.2.1¡@ºc«ØMapReduce Eclipse IDE 361

12.2.2¡@¶}µo¥Ü¨Ò 363

12.3¡@MapReduce Java API½sµ{ 368

12.3.1¡@Mapper½sµ{±µ¤f 369

12.3.2¡@Reducer½sµ{±µ¤f 370

12.3.3¡@ÅX°ÊÃþ½s¼g 372

12.3.4¡@½sĶ¹B¦æ 373

12.4¡@À£ÁY¥\¯à¨Ï¥Î 374

12.4.1¡@Hadoop¼Æ¾ÚÀ£ÁY 374

12.4.2¡@À£ÁY¯S©º»P©Ê¯à 374

12.4.3¡@¥»¦aÀ£ÁY®w 375

12.4.4¡@¨Ï¥ÎÀ£ÁY 376

12.5¡@±Æ§ÇÀ³¥Î 378

12.5.1¡@Hadoop±Æ§Ç°ÝÃD 378

12.5.2¡@¤G¦¸±Æ§Ç 378

12.5.3¡@¤ñ¸û¾¹©M²Õ¦X±Æ§Ç 380

12.5.4¡@¥þ§½±Æ§Ç 381

12.6¡@¦h¸ô¿é¥X 382

12.7¡@±`¨£°ÝÃD»P³B²z¤èªk 384

12.7.1¡@±`¨£ªº¶}µo°ÝÃD 384

12.7.2¡@¹B¦æ®É¿ù»~°ÝÃD 386

12.8¡@¤pµ² 387
§Ç¡G