Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Spark App×Ô¶¯»¯·ÖÎöºÍ¹ÊÕÏÕï¶Ï
 
×÷Õߣº³ÂÔó À´Ô´£ºcsdn ·¢²¼ÓÚ£º2017-7-20
  4179  次浏览      29
 

ËÕÄþ´óÊý¾Ý¼ÆËãÆ½Ì¨¼Ü¹¹

ËÕÄþ´óÊý¾Ýƽ̨µÄ¼ÆËãÒýÇæÖ÷Òª°üÀ¨Èý¸ö×é³É²¿·Ö£ºÀëÏß¼ÆËã¡¢Á÷ʽ¼ÆËã¡¢OLAPÒýÇæ¡£

ÀëÏßÕâ¿éĿǰÖ÷ÒªÊÇÒÀÀµSparkºÍHiveÀ´ÌṩÀëÏßÊý¾ÝµÄ·ÖÎöºÍÍÚ¾òÄÜÁ¦¡£

Á÷ʽ¼ÆËãÕâ¿é·ÖΪ׼ʵʱ¼ÆËãºÍʵʱÁ÷¼ÆË㡣׼ʵʱ¼ÆËãÖ÷Òª»ùÓÚSpark StreamingÀ´Âú×ãÊýÃëÖÁ·ÖÖÓ¼¶µÄÒµÎñÐèÇ󣬶ÔÓÚʵʱÁ÷Õâ¿é£¬Ä¿Ç°ÎÒÃÇËÕÄþ´ó¸ÅÓÐ1200̨OpenstackÐéÄâ»ú£¨400̨ʵÌå»ú£©×é³ÉµÄ 39¸öStorm¼¯Èº£¬²¢ÇÒÔÚ2014Äê¾Í×ÔÑÐÁËStorm SQLÒýÇæLibra£¬ÎªStormÒµÎñÌṩSQL½Ó¿Ú¡£´Ó½ñÄêÄê³õ¿ªÊ¼£¬ÎÒÃÇ¿ªÊ¼Öð²½È¥Ç¿»¯FlinkÔÚÎÒÃǼܹ¹ÖеÄλÖã¬ÎÒÃÇÏ£ÍûÀûÓÃFlinkµÄÇ¿´ó´°¿Ú¼ÆËãÒÔ¼°EventTimeµÄ´¦ÀíÄÜÁ¦À´½â¾öÎÒÃÇһЩҵÎñÉϵÄÐèÇó¡£

OLAPÕâ¿éĿǰÎÒÃÇÖ÷ÍÆDruidºÍESÁ½¿îÒýÇæ¡£ÎÒÃÇÀûÓÃDruidµÄʵʱ¼ÆËãÄÜÁ¦£¬À´½â¾öÎÒÃÇÖ¸±ê¾ÛºÏ¼ÆËãÉϵÄһЩÐèÇó£»ÀûÓÃES¿ìËÙÊý¾ÝË÷Òý¶¨Î»ÄÜÁ¦À´½â¾öÃ÷ϸ²éѯÉϵÄһЩÐèÇó¡£

ÔÚÎÒÃÇÕû¸ö¼Ü¹¹ÖУ¬Spark´¦ÓÚÒ»¸ö·Ç³£ÖØÒªµÄλÖá£Í¬Ê±ÎÒÃÇҲΪÁËSparkµÄƽ̨»¯·þÎñ»¯£¬×öÁËºÜ¶àÆ½Ì¨¼¶¹¤¾ß¡£

Õâ¸öÊÇCBTÈÎÎñÁ÷µ÷¶Èƽ̨¡£ËüÕë¶ÔĿǰ°üÀ¨Spark¡¢Spark SQL¡¢Êý¾Ý½»»»ÔÚÄÚ¶àÖÖÀàÐÍÈÎÎñÌṩһ¸öÈÎÎñºÍÈÎÎñÁ÷¹ÜÀíÒÔ¼°µ÷¶ÈµÄÄÜÁ¦¡£Ä¿Ç°ÎÒÃÇCBTƽ̨¼¯Èº¹æÄ£ÔÚ98̨ÐéÄâ»ú£¬Ã¿ÌìÍê³É5W+ÈÎÎñµÄµ÷¶ÈºÍÖ´ÐС£

ÕâÊÇSSMPƽ̨¡£×¨ÃÅÕë¶ÔSpark StreamingÈÎÎñÌṩµÄÒ»¸öÈÎÎñ¹ÜÀíºÍµ÷¶ÈµÄƽ̨£¬ÎªÈÎÎñÌṩ24СʱLongRunningµÄ±£ÕÏ¡£

ÕâÊÇÎÒÃÇÔÚÏß»úÆ÷ѧϰƽ̨¡£Ä¿Ç°¸Ãƽ̨Ö÷ÒªÊÇ»ùÓÚSpark MLlibʵÏֵ쬶ÔGPU»·¾³ÏÂÉî¶ÈѧϰËã·¨µÄÖ§³ÖÎÒÃÇÒ²ÕýÔÚ¿ª·¢¡£Ä¿Ç°ÎÒÃÇÖ§³ÖÒµÎñÔÚÏߵĽøÐÐPipeline¹¹½¨¡¢Ä£ÐÍѵÁ·¡¢µ÷ÓÅ£¬²¢ÇÒÖ§³Ö¶ÔѵÁ·ºóµÄÄ£ÐÍÒ»¼ü·¢²¼µ½Spark StreamingÓ¦Óû·¾³¡£

ÕâÊÇÎÒÃÇÀëÏß´ó¼¯ÈºµÄÏà¹ØÊý¾Ý¡£Ä¿Ç°ÎÒÃÇÀëÏßÕâ¿é¼¯Èº½ÚµãÊýΪ700¶à¸ö£¬Ã¿Ììͨ¹ýCBTµ÷¶ÈÈÎÎñ´ó¸ÅÔÚ5W+£¬Ã¿Ìì´¦ÀíµÄÊý¾ÝÁ¿ÔÚ300T×óÓÒ¡£

ÉÏÃæ±í¸ñÊÇÎÒÃÇ2016ÄêQ4ÖÐÆÚÒÔ¼°×î½üͳ¼ÆµÄ¡¶SparkºÍHiveÈÎÎñ·Ö²¼Çé¿ö¡·¡£µ±Ç°ÎÒÃÇËÕÄþÒµÎñ¶ÔHiveµÄÒÀÀµ»¹ÊDZȽÏÖØ£¬¶ÔHiveÇ¨ÒÆµ½Spark SQLµÄ¹¤×÷ÎÒÃÇÒ²ÔÚÖð²½Íƽø¡£ÁíÍâÎÒÃǵ¥¿´Spark ÈÎÎñ±ä»¯Çé¿ö£ºÔÚÕâ°ëÄêʱ¼äÀSparkÈÎÎñÊýÔöËٷdz£¿ì£¬SparkÈÎÎñÐÂÔö3000+£¬Spark StreamingÈÎÎñ´Ó0Ôö³¤µ½29¸ö¡£ÕâÀïҪǿµ÷һϣ¬Ä¿Ç°Õâ3000¸öSparkÈÎÎñÀïÃæ£¬Ö»ÓÐÉÙÉÙµÄ200¸öÈÎÎñÊÇSpark SQLÈÎÎñ£¬ÔÚÎÒÃǺóÐøHiveÇ¨ÒÆ¹ý³Ì£¬Spark SQLÈÎÎñÊýÔöËÙÊÇ»áÔ¶Ô¶³¬¹ýµ±Ç°Õâ¸öÊý×Ö¡£

ÕûÌåÉÏÀ´Ëµ£¬Í¨¹ýÎÒÃÇÆ½Ì¨»¯ÒÔ¼°·þÎñ»¯¹¤×÷µÄ¿ªÕ¹£¬ÎÒÃÇÒµÎñÒѾ­½ÓÊÜSpark×÷ΪËüÃÇÊý¾Ý·ÖÎöÁ´Â·ÉÏÒ»¸öºËÐÄÒýÇæ¡£

Sparkƽ̨»¯Óöµ½µÄÎÊÌâ

µ«ÊÇÔÚÎÒÃÇÕû¸öƽ̨»¯ºÍ·þÎñ»¯µÄ¹ý³ÌÖУ¬Ò²Óöµ½ºÜ¶àºÜ¶àµÄÎÊÌâ¡£ÕâЩÎÊÌâÒ»²¿·ÖÊÇÒòΪҵÎñ×ÔÉí¶ÔSparkÀí½âºÍÓ¦Óþ­Ñé²»¹»£¬»¹ÓÐÒ»²¿·ÖÊÇÒòΪÎÒÃÇ·þÎñ»¯×öµÄ²»¹»ºÃ¡£

ÔÚÒµÎñÍÆ¹ãÖУ¬Ò»°ãÇé¿öÏÂÒµÎñÓöµ½ÐÔÄÜÎÊÌâºÍ¹ÊÕÏʱ£¬¶¼ÊÇÖ±½Ó·´À¡µ½Æ½Ì¨×éÕâ±ß£¬ÓÉÎÒÃÇÆ½Ì¨ÅäºÏÒµÎñÈ¥¶¨Î»ºÍ½â¾öÕâЩÎÊÌâ¡£

ÎÒÃÇÆ½Ì¨½â¾öÕâЩÎÊÌâµÄ˼·£ºÀûÓþ­Ñé¶ÔÈÎÎñÖ´Ðйý³ÌºÍÈÕÖ¾½øÐзÖÎö£¬¾¡×î´ó¿ÉÄÜÈ¥ÊÕ¼¯ÓÐЧÊý¾Ý£¨µ«ÓÉÓÚÈÎÎñÒѾ­½áÊø£¬Ò»Ð©ÔËÐÐʱµÄÊý¾Ý¿ÉÄÜÎÞ·¨ÊÕ¼¯£©£¬²¢ÇÒÀûÓÃÕâЩÊý¾ÝÀ´¶¨Î»ºÍ½â¾öÎÊÌâ¡£µ«ÊÇÕâÕû¸ö¹¤×÷µÄЧÂʷdz£µÍ£¬¶øÇÒ´æÔںܶàͬÖÊ»¯ÎÊÌâ¡£

Spark×Ô¶¯»¯·ÖÎöºÍ¹ÊÕÏÕï¶Ï

´Ó·þÎñ»¯½Ç¶È³ö·¢£¬ÎÒÃÇÏ£Íû¿ÉÒÔÀûÓÃÆ½Ì¨»¯µÄ˼·ȥ½â¾öÕâЩÎÊÌ⣬Òò´ËÎÒÃǾÍ×öÁËÕâ¸öSpark×Ô¶¯»¯·ÖÎöºÍ¹ÊÕÏÕï¶Ïϵͳ£¬ÄÚ²¿´úºÅ-»ªÙ¢¡£

ϵͳ¼Ü¹¹Ö÷Òª°üÀ¨Êý¾Ý²É¼¯¡¢»ªÙ¢server¡¢Êý¾Ý´æ´¢ÒÔ¼°¼à¿Ø·ÖÎöƽ̨¼¸¸öÄ£¿é¡£Êý¾Ý²É¼¯Ä¿Ç°Ö÷Òª²É¼¯ÁËSpark£¬Yarn¡¢ËÞÖ÷»úÆ÷µÈÊý¾Ý¡£ÆäÖÐSparkÕâ¿é£¬ÎÒÃÇÀ©Õ¹ÁËSparkµÄMetric SystemÒÔ¼°Event System£¬²¢Í¨¹ýÐÂÔöMetricSourceÀ´ÊÕ¼¯ÎÒÃÇÐèÒªµÄÐÅÏ¢£»HDFSºÍYarnÊÇͨ¹ýJMX-CollectÀ´ÊÕ¼¯MetricÐÅÏ¢£»ËÞÖ÷»úÆ÷ÀûÓÃService-AgentÀ´ÊÕ¼¯»úÆ÷µÄCPU£¬Äڴ棬IOµÈMetricÐÅÏ¢¡£Êý¾Ýͨ¹ý»ªÙ¢Server·Ö±ðÂ䵨µ½DruidºÍESÁ½¸ö´æ´¢ÖУ¬ÆäÖÐDruidÓÃÀ´´æ´¢Ö¸±êÊý¾Ý£¬ESÓÃÀ´´æ´¢Ê¼þÊý¾Ý¡£»ªÙ¢¼à¿ØÆ½Ì¨£¬Í¨¹ýÕâÁ½ÀàÊý¾ÝÀ´ÊµÏÖÆ½Ì¨µÄÖ¸±ê·ÖÎö£¬Ê¼þ·ÖÎö£¬¹ÊÕÏÕï¶Ï£¬Òì³£±¨¾¯ÒÔ¼°ÈÎÎñ±¨±íµÈ¹¦ÄÜ¡£

DruidÊÇÒ»ÖÖÊÊÓÃÓÚʱÐò»¯Êý¾ÝµÄOLAP·ÖÎöÒýÇæ£¬ÌرðÊʺÏÓÚͳ¼Æ·ÖÎö¡¢ÏµÍ³¼à¿ØµÈÒµÎñ³¡¾°¡£¶øÎÒÃÇÕâÀﳡ¾°¾ÍÊÇϵͳ¼à¿Ø¡£

ÔÚDruidÀïÃæ£¬Êý¾ÝÊǰ´ÕÕʱ¼ä¡¢Î¬¶È¡¢Ö¸±êÈýÖÖÔªËØ½øÐÐ×éÖ¯£¬Ö§³ÖTopN¡¢GroupByµÈ¾ÛºÏ²éѯÒÔ¼°¼òµ¥Ã÷ϸ²éѯ¡£¹ØÓÚÃ÷ϸ²éѯÕâ¿é£¬DruidµÄË÷Òý¿ÉÒÔʵÏÖ¿ìËټǼ¶¨Î»¡£µ«ÊÇÏà±ÈES£¬ËüµÄ¿É¿ØÐÔÒª²îµã£¬ËùÒÔÎÒÃÇĿǰÕûÌåOLAPÕâ¿éÊǼƻ®Ê¹ÓÃDruid+ES×éºÏÀ´ÎªÒµÎñÌṩ·þÎñ¡£ÆäÖÐDruidĿǰÊÇ×÷ΪÖ÷ÒªµÄOLAPÒýÇæ½øÐÐÍÆ¹ã£¬Ö§³ÅÏúÊÛ±¨±í¡¢½ðÈÚ×ÔÖú·ÖÎö¡¢·ç¿ØÆ½Ì¨ÒÔ¼°Æ½Ì¨¼à¿ØµÈÊ®¶à¸öÒµÎñ³¡¾°¡£

ÏÂÃæÎÒÃǾßÌ忴һϣ¬ÎÒÃÇϵͳÕë¶ÔSparkÌṩÄÄЩ·ÖÎöºÍ¹ÊÕÏÕï¶ÏµÄÄÜÁ¦£¬Ö÷ÒªÊÇ´Ó×ÊÔ´¡¢ÐÔÄÜ¡¢¹ÊÕÏÈý¸ö½Ç¶È³ö·¢¡£

Ê×ÏÈ¿´Ò»ÏÂ×ÊÔ´·½Ã棬ÎÒÃǶÔSparkµÄ×ÊÔ´°Ñ¿Ø·ÖΪÈý¸ö²ãÃæ£º1£©Õ¾ÔÚSparkÍⲿ£¬ ÈÎÎñËùʹÓõÄYarn¡¢HDFSÒÔ¼°ËÞÖ÷»úÆ÷µÈÍⲿ×ÊÔ´µÄÎȶ¨ÐÔ£»2£©Õ¾ÔÚSpark Linux½ø³Ì±¾Éí£¬À´·ÖÎöÈÎÎñ½ø³Ì×ÊÔ´µÄÀûÓÃÂÊ£»3£©Õ¾ÔÚSparkÄÚ²¿£¬Ö÷Òª¿¼ÂÇCacheÒÔ¼°ShuffleµÄ×ÊԴʹÓÃÇé¿ö¡£

Èç¹ûÕ¾ÔÚSpark·þÎñʹÓýǶÈÀ´Ëµ£ºÎÒÃÇÏ£ÍûÎÒÃÇ´ÓYarnÉÏÉêÇëµ½µÄÐéÄâ×ÊÔ´ºÍʵ¼ÊÔËÐеÄÎïÀí×ÊÔ´ÊÇÆ¥ÅäµÄ¡£Êµ¼ÊÔËÐйý³ÌÖУ¬²»Ó¦¸Ã³öÏÖDriverºÍExecutorµÄËÞÖ÷»úÆ÷´æÔÚÐÔÄÜÆ¿¾±£¬±ÈÈçϵͳ¸ºÔعý¸ß£¬Íø¿¨´òÂú£¬ÉõÖÁ¶ª°ü¡£ÒòΪÎïÀí»·¾³Îȶ¨ÐÔ¶ÔSpark AppµÄÎȶ¨ÐÔºÍÐÔÄÜÊÇÓзdz£´óµÄÓ°ÏìµÄ¡£

Èç¹ûÕ¾ÔÚApp½ø³Ì½Ç¶È£¬¿ÉÒÔͨ¹ý·ÖÎöDriverºÍExecutorµÄLinux½ø³ÌÊÇ·ñ´æÔÚÆ¿¾±À´·¢ÏÖAppµÄÐÔÄܺÍÎȶ¨ÐÔÇé¿ö£¬±ÈÈçExecutor CPUÀûÓÃÂÊÊÇ·ñ´ïµ½100%£¬»òÕßExecutorµÄFDÊÇ·ñ±£³Ö³ÖÐøÔö³¤£¬ÊÇ·ñ´æÔÚ¾ä±úй¶¡£

ÁíÍ⣬Ïà±ÈHive£¬Spark On YarnÓÐÈý¸öÖØÒª²ÎÊýÐèÒªÉèÖãºExecutor¸öÊýºÍÄڴ棬ÒÔ¼°DriverÄÚ´æ¡£ÌØ±ðÊÇExecutor¸öÊý¼°Äڴ棬ÉèÖÃÊÇ·ñºÏÀí½«ºÜ´ó³Ì¶ÈÉϾö¶¨ÈÎÎñÊÇ·ñ¿ÉÒÔÕý³£Ö´ÐУ¬ÒÔ¼°×ÊÔ´ÊÇ·ñºÏÀíÀûÓá£

ÉÏÃæÁ½ÕÅPPT¿ÉÒÔ¿´³ö£ºDriverºÍExecutorÔ¤·ÖÅäÄÚ´æÒÔ¼°Êµ¼ÊÕ¼ÓÃÄÚ´æµÄʹÓÃÇé¿ö£¬ÒÔ¼°ExecutorÔ¤·ÖÅäµÄCPUʱ¼äƬÀûÓÃÂÊÇé¿ö£¬Í¨¹ýËüÃÇ¿ÉÒÔ¿ìËÙ¶¨Î»ÒµÎñµÄ×ÊÔ´ÀûÓÃÂÊ¡£

×îºóÊÇÕ¾ÔÚSparkÄÚ²¿£¬À´¿´CacheÒÔ¼°Shuffle×ÊԴʹÓÃÇé¿ö¡£Spark 1.5.2°æ±¾ÖеÄCacheºÍShuffleÄڴ滹ÊǷֶιÜÀí£¬¶Ô·Ö¶Î±ÈÀý²ÎÊýµÄµ÷ÓÅÊÇÒ»¼þ·Ç³£Í·ÌÛÊÂÇé¡£Òò´ËÎÒÃÇÕë¶ÔCacheºÍShuffleÄÚ´æ×öÁËͼ±í¿ÉÊÓ»¯·ÖÎö£¬¿ÉÒÔ¿ìËÙÖ¸µ¼ÒµÎñ½øÐвÎÊýµ÷ÓÅ¡£

ÁíÍâ¶ÔCache»úÖÆ£¬Spark¿ª·¢ÐÂÊÖ¿ÉÄÜ»á´æÔÚÎó½â£¬ÓÐʱֱ½Ó¶ÔËùÓеÄRDD½øÐÐCache¡£µ«Êµ¼ÊÉÏÖ»ÓÐRDD/DatasetʹÓÃÁ½´ÎÒÔÉÏ£¬²ÅÓбØÒª½øÐÐCache¡£Òò´ËÎÒÃǶÔDAGͼ½øÐзÖÎö£¬Õë¶ÔÊÇ·ñÐèÒªCache¸ø³ö½¨Òé¡£

¶ÔÓÚÐÔÄÜ£¬Ö÷Òª´ÓÁ½¸ö½Ç¶È½øÐзÖÎö£º1£©Õ¾ÔÚTask½Ç¶È£¬¶ÔTaskºÄʱÁ´ºÍ³¤Î²Task½øÐзÖÎö£»2£©Õ¾ÔÚStage½Ç¶È£¬¶ÔÈÎÎñµ÷¶ÈOverheadÒÔ¼°²¢ÐжȽøÐзÖÎö¡£

¶ÔÓÚTaskºÄʱ£¬Ä¿Ç°SparkÒ³ÃæÒѾ­ÌṩÁËһЩͳ¼Æ£¬±ÈÈçµ÷¶ÈÑÓ³Ù£¬GCºÄʱ£¬·´ÐòÁл¯ºÄʱ£¬ShuffleºÄʱµÈ¡£µ«ÊÇÒµÎñ»¹ÐèÒªÁ˽â¸ü¶àµÄºÄʱÇé¿ö£¬±ÈÈçÿһ²½²Ù×÷µÄºÄʱÇé¿ö¡£¼ÙÈçÒµÎñÂß¼­ÆäÖÐÒ»¸ömap²Ù×÷ÐèÒªÓëÍⲿÊý¾ÝÔ´½øÐÐIO²Ù×÷£¬ÄÇô¶ÔËüµÄºÄʱͳ¼Æ»á·Ç³£ÖØÒª£¬Òò´ËÎÒÃÇ×öÁ˺ÄʱÁ´µÄͳ¼Æ¡£

ĿǰTaskºÄʱÁ´ÊÇ»ùÓÚRDD-ItertorÀ´ÊµÏֵ쬶ÔÓÚSpark 2.0+ÒýÈëµÄWhole Stage Code GenaretionĿǰÎÒÃÇ»¹Î´Ö§³Ö¡£

ÔÚRDD-ItertorÄ£ÐÍÖУ¬RDD Transfer²Ù×÷¾ÍÊÇItertorµÄÁ¬½Ó²Ù×÷£¬Ã¿Ò»¸öItertorµÄnextºÍhasnext¾ÍÊǺÄʱԴͷ£¬ÎÒÃÇͨ¹ý¶ÔSparkÖеÄItertor½øÐжþ´Î·â×°À´ÊÕ¼¯Ã¿²½ºÄʱ¡£ÁíÍâÓÐЩÇé¿öÏÂItertorµÄnextºÍhasnext²»´æÔÚºÄʱ£¬»òÕߺÜС£¬Ö÷ÒªºÄʱ¼¯ÖÐÔÚItertor¶ÔÏóµÄ¹¹ÔìÉÏ£¬±ÈÈçflatmap²Ù×÷»òÕßmappartition²Ù×÷£¬Ïȹ¹ÔìÒ»¸öList£¬È»ºóÔÙ×öÒ»¸ötoItertor²Ù×÷¡£ÕâÖÖÇé¿öÏ£¬ÐèҪͳ¼ÆItertorµÄ¹¹ÔìºÄʱ£¬µ«ÊÇItertor¹¹ÔìºÄʱº­¸ÇÁËParentºÄʱ£¬Í³¼ÆÊ±ÐèÒªÌÞ³ýParentºÄʱÇé¿ö¡£

³¤Î²TaskÊÇSparkÖзdz£³£¼ûµÄÐÔÄÜÎÊÌâ¡£³¤Î²Ô­Òò¿ÉÄÜÊÇÒµÎñÊý¾ÝÇãб£¬Ò²ÓпÉÄÜ»úÆ÷¶ª°ü£¬Íø¿¨CPUµÈ×ÊÔ´´æÔÚÆ¿¾±¡£Ä¿Ç°ÎÒÃÇ×öÁ˳¤Î²TaskµÄ±¨¾¯ºÍʵʱ¼à¿Ø£¬²¢½áºÏºÄʱÁ´·ÖÎö¡¢½ø³ÌºÍËÞÖ÷»ú״̬·ÖÎö£¬ÒÔ¼°ºóÃæÌ¸µ½µÄÊý¾ÝÇãбÀ´¶Ô³¤Î²Task½øÐзÖÎö¡£

ÈÎÎñµ÷¶ÈOverheadÊÇÆ½Ì¨±È½ÏÉ˸еÄÎÊÌ⣬¿´×ÅÄÇЩϸËéÈÎÎñ£¬¼¸Ê®MÊý¾ÝÓü¸°ÙTaskÈ¥ÅÜ£¬Ã¿¸öTaskÖ»Ö´Ðм¸Ê®ºÁÃë¡£Òò´ËÎÒÃǶÔÈÎÎñStage½øÐзÖÎö£¬Í³¼ÆÈÎÎñʵ¼Ê¼ÆËãʱ¼äÓëµÈ´ýµ÷¶Èʱ¼ä£¬´Ó¶øÅжÏÊÇ·ñ´æÔÚµ÷¶ÈOverhead¡£

Ôì³ÉÈÎÎñµ÷¶ÈOverheadµÄÒ»¸öÔ­Òò¾ÍÊÇReduce¸öÊýÉèÖò»ºÏÀí£¬¶øÇÒÕâÊÇÒ»¸ö¹öÑ©ÇòЧӦ£¬Reduce·Å´óԭʼÊý¾Ý·ÖÇøÊý£¬¼ÆËãºóд»ØHDFS£¬Ôì³ÉHDFSСÎļþ£¬È»ºóÔÙ·´¸´µÄµü´ú£¬²úÉú¸ü¶àСÎļþ£¬´Ó¶øµ¼Ö¸ü¼ÓÑÏÖØµÄOverhead¡£

ÔÚSpark 2.0+°æ±¾£¬ÐÂÔöReduce¸öÊý×Ô¶¯ÊÊÓ¦ÊÇÒ»¸ö·Ç³£°ôµÄ¹¦ÄÜ£¬ºÜ´ó³Ì¶ÈÉϽâ¾öÁËÕâ¸öÎÊÌ⣬µ«ÊǶÔÓÚ1.5.2°æ±¾£¬Õâ¸öÎÊÌ⻹ÊÇÒÀÈ»´æÔÚ¡£Òò´ËÎÒÃǶÔReduce²Ù×÷½øÐзÖÎö£¬ÈçÉÏͼ£¬È«¾Ö×î´óµÄReduce²Ù×÷Êý¾ÝÁ¿Ö»ÓÐ13M£¬Ê¹ÓÃĬÈÏ40²¢·¢ÊDz»ºÏÀí£¬Ç¿ÁÒ½¨ÒéÒµÎñÓÅ»¯¡£

ÐÔÄÜÕâ¿é»¹×öÁËһЩÆäËûµÄÓÅ»¯·ÖÎö£¬±ÈÈçJDBC²¢·¢¶È·ÖÎöÒÔ¼°Kafka²¢·¢¶È·ÖÎö¡£JDBCĬÈϵÄAPIÊÇ¿ÉÒÔ²»ÉèÖ÷ÖÇøºÍ²¢·¢¶È£¬ÕâÑùµ¥Ï̶߳ÁJDBC»áµ¼ÖÂÈÎÎñºÄʱ½Ï³¤£»¶ÔÓÚKafka Direct API£¬Ä¬ÈÏÊÇÒ»¸öSpark·ÖÇø¶ÁÈ¡KafkaÒ»¸ö·ÖÇø£¬µ«ÊÇÔںܶàÒµÎñ³¡¾°Ï¿ÉÄÜ»á³ÉΪƿ¾±¡£

×îºó¾ÍÊǹÊÕÏÕï¶Ï£¬ÆäÊµÇ°Ãæ·ÖÎöµÄ½á¹û¿ÉÒÔÖ±½ÓÓÃÓÚ¹ÊÕÏÕï¶Ï£¬µ«ÎÒÃÇÕë¶ÔһЩ³£¼û¹ÊÕÏ£¬µ¥¶ÀÌáÁ¶³öÀ´£¬´Ó¶ø¿ÉÒÔ¸ü¼ÓÖ±½Ó·¢ÏÖÎÊÌ⣬±ÈÈ磺ShuffleÊý¾ÝÇãб¡¢HDFS Commit×èÈû¡¢Ö´ÐÐÆ÷¶ªÊ§¡¢¸ßάParquetдÐÔÄÜ×èÈûµÈ¡£

ÎÒÃÇÔÚShuffle WriteÈÎÎñ½áÊøÒÔºó£¬Ìáǰ¶ÔºóÐøReadµÄÊý¾ÝÁ¿½øÐмÆË㣬ÅжϺóÐøµÄShuffle Read²Ù×÷ÊÇ·ñ´æÔÚÇãб£¬´Ó¶ø¿ÉÒÔÖ±½Ó¸øÒµÎñÒ»¸ö½áÂÛ£ºÊÇ·ñÐèÒªÓÅ»¯ÒµÎñÂß¼­»ò²ÎÊý¡£

HDFS Commit×èÈûÊdzöÏÖÆµÂʱȽϸߵĹÊÕÏ¡£Ä¿Ç°CBTÈÎÎñµ÷¶Èƽ̨ÓÐÒ»¸öºÜÃܼ¯µÄÈÎÎñÖ´ÐÐʱ¼ä£¬´ó¸ÅÊÇ0µã-7µã¡£ÔÚÕâ¸öʱ¼ä¶Î£¬HDFSÐÔÄÜÏÔÖøÏ½µ£¬×î´órpcÑÓ³Ù¿ÉÄܴX°Ùms¡£

Æä´ÎÈçMAPREDUCE-4815ÃèÊö£ºHDFS Commit²Ù×÷ÊÇÔÚDriverÖд®ÐÐÖ´ÐУ¬Èç¹û¼ÆËãÉú³É¼¸Ç§¸öСÎļþ£¬ÄÇôÕûÌåCommitºÄʱ¾Í»áÔö¼Ó¼¸°ÙÃ룬ÕâÊÇÒ»¸öºÜ´óµÄÐÔÄÜËðºÄ¡£

×îºó¾ÍÊÇ×ÊÔ´±¨±í£¬Í¨¹ýËüÓëÒµÎñÖ®¼ä¹¹³ÉÒ»¸öFeed-Back»úÖÆ£¬ÍƽøÒµÎñÖ÷¶¯¶ÔAppµÄÂß¼­ÒÔ¼°ÅäÖýøÐÐÓÅ»¯¡£

¶ÔÓÚSpark¼°ÆäËû×é¼þƽ̨»¯·þÎñ»¯£¬½«ÊÇÒ»¸ö³ÖÐø¾­Ñé»ýÀÛºÍÓÅ»¯µÄ¹ý³Ì£¬´ó¼ÒÓкõÄÏë·¨»¶Ó­ÌÖÂۺͽ»Á÷¡£

   
4179 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ