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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚApache FlinkµÄʵʱ¼ÆËãÒýÇæBlinkÔÚ°¢ÀïËÑË÷ÖеÄÓ¦ÓÃ
 
À´Ô´£ºINFoq ·¢²¼ÓÚ£º2017-3-17
  2238  次浏览      32
 

°¢Àï°Í°ÍÊÇÊÀ½çÉÏ×î´óµÄµç×ÓÉÌÎñÁãÊÛÉÌ¡£ ÎÒÃÇÔÚ2015ÄêµÄÄêÏúÊÛ¶î×ܼÆ3940ÒÚÃÀÔª£¬³¬¹ýeBayºÍÑÇÂíÑ·Ö®ºÍ¡£°¢Àï°Í°ÍËÑË÷£¨¸öÐÔ»¯ËÑË÷ºÍÍÆ¼öƽ̨£©Êǿͻ§µÄ¹Ø¼üÈë¿Ú£¬²¢³ÐÔØÁ˴󲿷ÖÔÚÏßÊÕÈ룬Òò´ËËÑË÷»ù´¡¼Ü¹¹ÍŶÓÐèÒª²»¶Ï̽Ë÷м¼ÊõÀ´¸Ä½ø²úÆ·¡£

ÔÚµç×ÓÉÌÎñÍøÕ¾Ó¦Óó¡¾°ÖУ¬Ê²Ã´ÄÜÔì¾ÍÒ»¸öÇ¿´óµÄËÑË÷ÒýÇæ£¿´ð°¸¾ÍÊǾ¡¿ÉÄܵÄΪÿ¸öÓû§ÌṩʵʱÏà¹ØºÍ׼ȷµÄ½á¹û¡£Í¬ÑùÒ»¸ö²»ÈݺöÊÓµÄÎÊÌâ¾ÍÊǰ¢Àï°Í°ÍµÄ¹æÄ££¬µ±Ç°ºÜÄÑÕÒµ½Äܹ»ÊʺÏÎÒÃǵļ¼Êõ¡£

Apache Flink?¾ÍÊÇÒ»ÖÖÕâÑùµÄ¼¼Êõ£¬°¢Àï°Í°ÍÕýÔÚʹÓûùÓÚFlinkµÄϵͳBlinkÀ´ÎªËÑË÷»ù´¡¼Ü¹¹µÄ¹Ø¼üÄ£¿éÌṩ֧³Ö£¬×îÖÕΪÓû§ÌṩÏà¹ØºÍ׼ȷµÄËÑË÷½á¹û¡£ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒ½«½éÉÜFlinkÔÚ°¢Àï°Í°ÍËÑË÷ÖеÄÓ¦Ó㬲¢½éÉÜÎÒÃÇÑ¡ÔñÔÚËÑË÷»ù´¡¼Ü¹¹ÍŶÓÖÐʹÓÃFlinkµÄÔ­Òò¡£

ÎÒ»¹½«ÌÖÂÛÈçºÎ¸Ä½øFlinkÒÔÂú×ãÎÒÃǶÔBlinkµÄ¶ÀÌØÐèÇó£¬ÒÔ¼°ÎÒÃÇÈçºÎÓëdata ArtisansºÍFlinkÉçÇøºÏ×÷£¬½«ÕâЩ¸ü¸Ä¹±Ï׸øFlinkÉçÇø¡£Ò»µ©³É¹¦µØ½«ÎÒÃǵÄÐ޸ĺϲ¢µ½¿ªÔ´ÏîÄ¿ÖУ¬ÎÒÃǻὫÏÖÓÐϵͳ´ÓBlink×ªÒÆµ½Apache Flink¡£

Part 1£º FlinkÔÚ°¢Àï°Í°ÍËÑË÷ÖеÄÓ¦ÓÃ

Îĵµ´´½¨

ΪÓû§ÌṩÊÀ½ç¼¶ËÑË÷ÒýÇæµÄµÚÒ»²½ÊÇ´´½¨¿É¹©ËÑË÷µÄÎĵµ¡£ÔÚ°¢Àï°Í°ÍµÄÓ¦Óó¡¾°ÖУ¬ÎĵµÊÇÓÉÊý°ÙÍò¸öÉÌÆ·ÁбíºÍÏà¹ØµÄÉÌÆ·Êý¾Ý×é³É¡£

ÒòΪÉÌÆ·Êý¾Ý´æ´¢ÔÚÐí¶à²»Í¬µÄµØ·½£¬ËùÒÔËÑË÷Îĵµ´´½¨Ò²ÊÇÒ»¸öºÜ´óµÄÌôÕ½£¬ËÑË÷»ù´¡¼Ü¹¹ÍŶӽ«ÉÌÆ·Ïà¹ØµÄËùÓÐÐÅÏ¢»ã×ÜÔÚÒ»Æð²¢´´½¨ÍêÕûµÄËÑË÷Îĵµ¡£Ò»°ãÀ´Ëµ£¬Õû¸ö¹ý³Ì·ÖΪ3¸ö½×¶Î£º

1¡¢½«²»Í¬À´Ô´£¨ÀýÈçMySQL£¬·Ö²¼Ê½Îļþϵͳ£©µÄËùÓÐÉÌÆ·Êý¾Ýͬ²½µ½Ò»¸öHBase¼¯ÈºÖС£

2¡¢Ê¹ÓÃÒµÎñÂß¼­½«À´×Ô²»Í¬±íµÄÊý¾ÝÁ¬½ÓÔÚÒ»Æð£¬ÒÔ´´½¨×îÖյĿÉËÑË÷Îĵµ¡£ÕâÊÇÒ»¸öHBase±í£¬ÎÒÃdzÆÖ®Îª'Result'±í¡£

3¡¢½«´ËHBase±íµ¼³öΪÎļþ×÷Ϊ¸üм¯ºÏ¡£

Õâ3¸ö½×¶Îʵ¼ÊÉÏÊÇÔÚ¾­µäµÄ¡°lambda¼Ü¹¹¡±ÖеÄ2¸ö²»Í¬µÄpipelineÉÏÔËÐУºÈ«Á¿¹¹½¨pipelineºÍÔöÁ¿¹¹½¨pipeline¡£

ÔÚÈ«Á¿¹¹½¨pipelineÖУ¬ÎÒÃÇÐèÒª´¦ÀíËùÓÐÊý¾ÝÔ´£¬Õâͨ³£ÊÇÒ»¸öÅú´¦Àí×÷Òµ¡£

ÔÚÔöÁ¿¹¹½¨pipelineÖУ¬ÎÒÃÇÐèÒª´¦ÀíÔÚÅú´¦Àí×÷ÒµÍê³Éºó·¢ÉúµÄ¸üС£ÀýÈ磬Âô¼Ò¿ÉÄÜÐÞ¸ÄÉÌÆ·¼Û¸ñ»òÉÌÆ·ÃèÊöÒÔ¼°¿â´æÁ¿µÄ±ä»¯¡£ÕâЩÐÅÏ¢ÐèÒª¾¡¿ÉÄÜ¿ìµÄ·´À¡ÔÚËÑË÷½á¹ûÖС£ÔöÁ¿¹¹½¨pipelineͨ³£ÊÇÒ»¸öÁ÷ʽ×÷Òµ¡£

ËÑË÷Ë㷨ʵʱA/B²âÊÔ

ÎÒÃǵŤ³Ìʦ»á¶¨ÆÚ²âÊÔ²»Í¬µÄËÑË÷Ëã·¨£¬²¢ÇÒÐèÒª¾¡¿ÉÄÜ¿ìµØÆÀ¹À³öЧ¹û¡£ÏÖÔÚÕâÖÖÆÀ¹ÀÿÌìÔËÐÐÒ»´Î£¬ÒòΪÏëʵʱ·ÖÎöЧ¹û£¬ËùÒÔÎÒÃÇʹÓÃBlink¹¹½¨ÁËÒ»¸öʵʱA/B²âÊÔ¿ò¼Ü¡£

ÔÚÏßÈÕÖ¾£¨Õ¹Ê¾£¬µã»÷£¬½»Ò×£©ÓɽâÎöÆ÷ºÍ¹ýÂËÆ÷ÊÕ¼¯ºÍ´¦Àí£¬È»ºóʹÓÃÒµÎñÂß¼­Á¬½ÓÔÚÒ»Æð¡£½ÓÏÂÀ´¾ÛºÏÊý¾Ý£¬½«¾ÛºÏ½á¹ûÍÆË͵½Druid£¬ÔÚDruidÄÚ²¿£¬ÎÒÃÇ¿ÉÒÔ±àд²éѯÓï¾ä²¢¶ÔÊý¾ÝÖ´Ðи´ÔÓµÄOLAP·ÖÎö£¬²¢²é¿´²»Í¬Ëã·¨µÄЧ¹û¡£

ÔÚÏß»úÆ÷ѧϰ

ÔÚÕⲿ·ÖÖÐFlinkÓÐÁ½¸öÓ¦Óó¡¾°¡£Ê×ÏÈ£¬ÎÒÃÇÀ´ÌÖÂÛËüÔÚÉÌÆ·ÌØÕ÷ʵʱ¸üÐÂÖеÄÓ¦Óᣰ¢Àï°Í°ÍËÑË÷ÅÅÐòÖÐʹÓõÄһЩÉÌÆ·ÌØÕ÷°üÀ¨ÉÌÆ·CTR£¬ÉÌÆ·¿â´æºÍÉÌÆ·µã»÷×ÜÊý¡£ÕâЩÊý¾ÝËæÊ±¼ä¶ø±ä»¯£¬Èç¹û¿ÉÒÔʹÓÃ×îеÄÊý¾Ý£¬ÎÒÃǾÍÄÜΪÓû§Ìṩ¸üÏà¹ØµÄËÑË÷½á¹ûÅÅÐò¡£Flink pipelineΪÎÒÃÇÌṩÔÚÏßÌØÕ÷¸üУ¬²¢´ó´óÌá¸ßÁËת»¯ÂÊ¡£

Æä´Î£¬Ã¿ÄêµÄÌØ¶¨ÈÕ×Ó£¨Èç¹â¹÷½Ú£©£¬ÓÐЩÉÌÆ·ÕÛ¿ÛÁ¦¶ÈºÜ´ó£¬ÓÐʱÉõÖÁ¸ß´ï50£¥¡£Òò´Ë£¬Óû§ÐÐΪҲ»á·¢ÉúºÜ´óµÄ±ä»¯¡£½»Ò×Á¿¾Þ´ó£¬Í¨³£±ÈÎÒÃÇÔÚÆ½Ê±¿´µ½µÄ¸ß³öºÜ¶à±¶¡£ÒÔǰѵÁ·µÄÄ£ÐÍÔÚÕâ¸ö³¡¾°×÷ÓÃÓÐÏÞ£¬Òò´ËÎÒÃÇʹÓÃÈÕÖ¾ºÍFlinkÁ÷ʽ×÷Òµ¹¹½¨ÁËÔÚÏß»úÆ÷ѧϰģÐÍ£¬Õâ¸öÄ£ÐͻὫʵʱÓû§ÐÐΪÊý¾Ý·´À¡µ½ÏµÍ³ÖС£½á¹ûÔÚÕâЩ²»³£¼ûµ«·Ç³£ÖØÒªµÄÓªÏú½ÚÈÕµÄת»»ÂÊÓÐÁ˺ܴóµÄÌáÉý¡£

Part 2£º Ñ¡ÔñÒ»¸ö¿ò¼ÜÀ´½â¾öÎÊÌâ

Ñ¡ÔñFlinkÓ¦Óõ½ËÑË÷»ù´¡¼Ü¹¹ÖУ¬ÎÒÃÇÔÚËĸö·½Ãæ×ö¹ýÆÀ¹À¡£ FlinkÔÚËĸö·½Ãæ¶¼Âú×ãÎÒÃǵÄÒªÇó¡£

Ãô½Ý£º ÎÒÃÇÆÚÍûÄܹ»ÎªÕû¸ö£¨2¸öpipeline£©ËÑË÷»ù´¡¼Ü¹¹Á÷³Ìά»¤Ò»Ì×´úÂ룬Òò´ËÐèÒªÒ»¸ö¸ß¼¶µÄAPIÀ´Âú×ãÎÒÃǵÄÒµÎñÂß¼­¡£

Ò»ÖÂÐÔ£º Âô·½»òÉÌÆ·Êý¾Ý¿â·¢ÉúµÄ±ä»¯±ØÐë·´À¡ÔÚ×îÖÕËÑË÷½á¹ûÖУ¬Òò´ËËÑË÷»ù´¡¼Ü¹¹ÍŶÓÐèÒªÖÁÉÙ´¦ÀíÒ»´Î£¨at-least-once£©µÄÓïÒ壨¶ÔÓÚ¹«Ë¾ÖеÄһЩÆäËûFlinkÓÃÀý£¬ÒªÇóÕýºÃÒ»´Î£¨exactly-once£©ÓïÒ壩¡£

µÍÑÓ³Ù£º µ±ÉÌÆ·¿â´æÁ¿·¢Éú±ä»¯Ê±£¬±ØÐ뾡¿ìÔÚËÑË÷½á¹ûÖеõ½ÌåÏÖ¡£ÀýÈçÎÒÃDz»Ïë¸øÊÛóÀµÄÉÌÆ·¸ø³öºÜ¸ßµÄËÑË÷ÅÅÃû¡£

³É±¾£º °¢Àï°Í°ÍÐèÒª´¦Àí´óÁ¿Êý¾Ý£¬ÒÔÎÒÃǵļ¯Èº¹æÄ££¬Ð§ÂÊÌá¸ß¿ÉÒÔÏÔÖøµÄ½µµÍ³É±¾¡£Òò´ËÎÒÃÇÐèÒªÒ»¸ö¸ßÐÔÄÜ¡¢¸ßÍÌÍÂÁ¿µÄ¿ò¼Ü¡£

Ò»°ãÀ´Ëµ£¬ÓÐÁ½ÖÖ·½·¨À´½«Åú´¦ÀíºÍÁ÷ʽ´¦ÀíͳһÆðÀ´¡£Ò»ÖÖ·½·¨Êǽ«Åú´¦Àí×÷Ϊ»ù±¾³ö·¢µã£¬ÔÚÅú´¦Àí¿ò¼ÜÉÏÖ§³ÖÁ÷ʽ´¦Àí¡£Õâ¿ÉÄܲ»·ûºÏÕæÕýÒâÒåÉϵÍÑÓ³Ù£¬ÒòΪÓÃ΢ÅúÁ¿´¦Àí£¨micro-batching£©Ä£ÄâÁ÷ʽ´¦ÀíÐèҪһЩ¹Ì¶¨µÄ¿ªÏú¡£Òò´Ë£¬µ±ÊÔͼ¼õÉÙÑÓ³Ùʱ£¬¿ªÏúµÄ±ÈÀýÒ²»áÏàÓ¦Ôö¼Ó¡£ÔÚÎÒÃǵĹæÄ£ÉÏ£¬ÎªÃ¿¸ö΢ÅúÁ¿´¦ÀíÆ÷µ÷¶È1000¸öÈÎÎñ£¬ÐèÒªÖØÐ½¨Á¢Á¬½Ó²¢ÖØÐ¼ÓÔØ×´Ì¬¡£Òò´ËÔÚijÖ̶ֳÈÉÏ£¬Î¢Åú´¦Àí·½·¨´ú¼ÛÌ«¸ß½«±äµÃûÓÐÒâÒå¡£

Flink´ÓÁíÒ»¸ö½Ç¶ÈÀ´½â¾öÕâ¸öÎÊÌ⣬¼´½«Á÷ʽ´¦Àí×÷Ϊ»ù±¾³ö·¢µã£¬ÔÚÁ÷ʽ´¦Àí¿ò¼ÜÉÏÖ§³ÖÅúÁ¿´¦Àí£¬½«Åú´¦Àí×÷ΪÁ÷ʽ´¦ÀíµÄÒ»ÖÖÌØÊâÇé¿ö¡£Ê¹ÓÃÕâÖÖ·½·¨£¬²»»á¶ªµôÎÒÃÇÔÚÅú´¦Àíģʽ£¨Åú´¦ÀíģʽÏÂÁ÷ÊÇÓÐÏ޵ģ©ÏÂ×ö³öµÄÓÅ»¯£¬ÄãÈÔÈ»¿ÉÒÔ×öһЩÅúÁ¿´¦ÀíÉϵÄÓÅ»¯¡£

Part 3£º BlinkÊÇʲô?

BlinkÊÇFlinkµÄÒ»¸ö·ÖÖ§°æ±¾£¬ÎÒÃÇ×öÁËÒ»¶¨µÄ¸Ä½øÒÔÂú×ã°¢Àï°Í°ÍµÄÒ»Ð©ÌØ¶¨ÐèÇó¡£Òò´Ë£¬BlinkÔÚ¼¸¸ö²»Í¬µÄ¼¯ÈºÉÏÔËÐУ¬Ã¿¸ö¼¯ÈºÓдóÔ¼1000̨»úÆ÷£¬´ó¹æÄ£¼¯ÈºµÄÐÔÄܶÔÎÒÃÇÀ´Ëµ·Ç³£ÖØÒª¡£

BlinkµÄ¸Ä½øÖ÷Òª°üÀ¨Á½¸ö·½Ã棺

Table API¸üÍêÕû£¬Òò´ËÎÒÃÇ¿ÉÒÔʹÓÃÏàͬµÄSQL½øÐÐÅú´¦ÀíºÍÁ÷ʽ´¦Àí¡£

¸üÇ¿´óµÄYARNģʽ£¬µ«ÈÔÈ»100£¥¼æÈÝFlinkµÄAPIºÍ¸ü¹ã·ºµÄÉú̬ϵͳ¡£

Table API

ÎÒÃÇÊ×ÏÈÌí¼ÓÁ˶ÔÓû§×Ô¶¨Ò庯ÊýUDFµÄÖ§³Ö£¬·½±ãÔÚFlinkÖÐʵÏÖ¶ÀÌØµÄÒµÎñÂß¼­¡£ÎÒÃÇ»¹Ìí¼ÓÁËÒ»¸öÁ÷¶ÔÁ÷µÄjoinµÄ¹¦ÄÜ£¬ÓÉÓÚFlink¶ÔÓÚ״̬±È½ÏºÃµÄÖ§³Ö£¬ËùÒÔʵÏÖÆðÀ´±È½ÏÈÝÒס£ÎÒÃÇÌí¼ÓÁ˼¸¸ö¾ÛºÏº¯ÊýÒÔ¼°»¬¶¯´°¿ÚµÄÖ§³Ö£¬×îÓÐȤµÄÒ»¸öÊÇdistinct_count¡£

£¨±à¼­×¢£ºFLIP-11º­¸ÇÁËÓëÉÏÊö¹¦ÄÜÏà¹ØµÄһϵÁÐTable APIºÍSQL¸Ä½ø£¬¶Ô¸ÃÖ÷Ìâ¸ÐÐËȤµÄ¿ÉÒÔÔĶÁ£©

½ÓÏÂÀ´£¬ÎÒÃǽ«½éÉÜÔËÐÐʱ¸Ä½ø£¬¿ÉÒÔ·ÖΪËĸö²»Í¬µÄÀà±ð¡£

YarnÉϵÄBlink

µ±ÎÒÃÇ¿ªÊ¼ÏîĿʱ£¬FlinkÖ§³Ö2ÖÖ¼¯ÈºÄ£Ê½£ºstandaloneģʽºÍYARNÉϵÄFlink¡£ÔÚYARNģʽÖУ¬×÷Òµ²»Äܶ¯Ì¬ÇëÇóºÍÊÍ·Å×ÊÔ´£¬¶øÊÇÐèÒªÔ¤ÏÈ·ÖÅäËùÓÐÐèÒªµÄ×ÊÔ´¡£²»Í¬µÄ×÷Òµ¿ÉÄܹ²ÏíÏàͬµÄJVM½ø³Ì£¬ÕâÓÐÀûÓÚ×ÊÔ´ÀûÓúÍ×ÊÔ´¸ôÀë¡£

BlinkÖÐÿ¸ö×÷Òµ¶¼ÓÐ×Ô¼ºµÄJobMaster£¬ÒÔ¸ù¾Ý×÷ÒµÐèÒªÇëÇóºÍÊÍ·Å×ÊÔ´¡£²¢ÇÒ²»Í¬µÄ×÷Òµ²»ÄÜÔÚͬһ¸öJava½ø³ÌÖÐÔËÐУ¬Õ⽫ÔÚ×÷ÒµºÍÈÎÎñÖ®¼äµÃµ½×î¼Ñ¸ôÀë¡£°¢Àï°Í°ÍÍŶÓĿǰÕýÔÚÓëFlinkÉçÇøºÏ×÷£¬½«ÕâÏ×÷¹±Ï׸ø¿ª·ÅÔ´´úÂ룬¸Ä½ø¹¤×÷ÔÚFLIP-6£¨³ýÁËYARNÖ®Í⻹À©Õ¹µ½ÆäËû¼¯Èº¹ÜÀíÆ÷£©Öеõ½ÁËÌåÏÖ¡£

OperatorËõ·Å

ÔÚÉú²ú»·¾³ÖУ¬ÎÒÃǵĿͻ§¶Ë¿ÉÄÜÐèÒª¸Ä±äOperatorµÄ²¢ÐÐÐÔ£¬µ«Í¬Ê±ËûÃDz»Ïëʧȥµ±Ç°×´Ì¬¡£µ±ÎÒÃÇ¿ªÊ¼Ê¹ÓÃBlinkʱ£¬Flink²»Ö§³ÖÔÚ±£³Ö״̬µÄͬʱ¸Ä±äOperatorµÄ²¢ÐÐÐÔ¡£BlinkÒýÈëÁË¡°bucket¡±µÄ¸ÅÄî×÷Ϊ״̬¹ÜÀíµÄ»ù±¾µ¥Î»¡£ÓбÈÈÎÎñ¸ü¶àµÄbucket£¬²¢ÇÒÿ¸öÈÎÎñ½«±»·ÖÅä¶à¸öbucket¡£µ±²¢ÐÐÐԸıäʱ£¬ÎÒÃǽ«ÖØÐ·ÖÅäÈÎÎñµÄbucket¡£ ʹÓÃÕâÖÖ·½·¨£¬¿ÉÒԸıäOperatorµÄ²¢ÐÐÐÔ²¢Î¬³Ö״̬¡£

£¨±àÕß×¢£ºFlinkÉçÇøÍ¬Ê±ÔÚFlink 1.2°æ±¾Öнâ¾öÁ˵ÄÕâ¸öÎÊÌâ - ¸Ã¹¦ÄÜÔÚ×îа汾µÄÖ÷·ÖÖ§ÖпÉÓá£FlinkµÄ¡°key groups¡±¸ÅÄîÔںܴó³Ì¶ÈÉϵÈͬÓÚÉÏÃæÌáµ½µÄ¡°bucket¡±£¬µ«ÊÇʵÏÖʱʹÓõÄÊý¾Ý½á¹¹ÂÔÓв»Í¬¡£¸ü¶àÐÅÏ¢£¬ÇëÔÚJira²é¿´FLIR-3755£©

ÔöÁ¿Checkpoint

ÔÚFlinkÖУ¬Checkpoint²Ù×÷·ÖΪÁ½¸ö½×¶Î£ºÔÚ±¾µØ»ñȡ״̬¿ìÕÕ£¬È»ºó½«×´Ì¬¿ìÕÕ±£´æµ½HDFS£¨»òÁíÒ»¸ö´æ´¢ÏµÍ³£©£¬²¢ÇÒÿ¸ö¿ìÕÕµÄÕû¸ö״̬´æ´¢ÔÚHDFSÖС£ÎÒÃǵÄ״̬Êý¾ÝÌ«´óÁË£¬ÕâÖÖ·½·¨ÊDz»¿ÉÐеģ¬ËùÒÔBlinkÖ»´æ´¢Ð޸ĵÄ״̬ÔÚHDFSÖУ¬ÕâÄܹ»´ó´óÌá¸ßCheckpointµÄЧÂÊ¡£ÕâÖÖÐÞ¸ÄʹÎÒÃÇÄܹ»ÔÚÉú²ú»·¾³ÖÐʹÓúܴóµÄ״̬Êý¾Ý¡£

Òì²½I/O

ÎÒÃǵÄjobÔÚÉú²ú»·¾³ÖÐºÜ´óÆ¿¾±ÔÚ·ÃÎÊÍⲿ´æ´¢Æ÷ÉÏ£¬ÈçHBase¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÎÒÃÇÒýÈëÁËÒì²½I/O£¬ÎÒÃǽ«ÖÂÁ¦ÓÚΪÉçÇø×ö³ö¹±Ï×£¬²¢ÔÚFLIP-12ÖÐÓÐÏêϸÃèÊö¡£

£¨±à¼­±Ê¼Ç£ºdata ArtisansÈÏΪFLIP-12×㹻ǿ´ó£¬¿ÉÒÔÔÚ²»¾ÃµÄ½«À´ÔÚij¸öʱ¼äÓµÓÐ×Ô¼ºµÄ¶ÀÁ¢Ð´Èë¡£ËùÒÔÎÒÃÇÖ»ÊǼòµ¥µØ½éÉÜÒ»ÏÂÕâÀïµÄÏë·¨£¬Èç¹ûÄãÏëÁ˽â¸ü¶à£¬¿ÉÒԲ鿴FLIP writeup£©

Part 4£º °¢Àï°Í°ÍµÄFlinkδÀ´¼Æ»®ÊÇʲô?

ÎÒÃǽ«¼ÌÐøÓÅ»¯ÎÒÃǵÄÁ÷ʽjob£¬ÌرðÊǸüºÃµØ´¦ÀíÁÙʱÇãб£¨temporary skew£©ºÍÂý½Úµã£¨slow machines£©£¬Í¬Ê±²»»á¶Ô·´Ñ¹»úÖÆ£¨backpressure£©ºÍ¹ÊÕÏ¿ìËÙ»Ö¸´Ôì³ÉÓ°Ïì¡£ÕýÈçÔÚFlink Forward´ó»áÉÏ´ó¼ÒÌÖÂ۵ģ¬ÎÒÃÇÈÏΪFlink×÷ΪÅú´¦Àí¿ò¼ÜÒÔ¼°Á÷ʽ´¦Àí¿ò¼ÜÓÐמ޴óDZÁ¦¡£ÎÒÃÇÕýÔÚŬÁ¦ÀûÓÃFlinkµÄÅú´¦ÀíÄÜÁ¦£¬Ï£ÍûÔÚ¼¸¸öÔÂÄÚÔÚÉú²ú»·¾³ÖÐʹÓÃFlinkÅú´¦Àíģʽ¡£

»áÒéµÄÁíÒ»¸öÈÈÃÅ»°ÌâÊÇÁ÷ʽSQL£¬ÎÒÃǽ«¼ÌÐøÔÚFlinkÖÐÌí¼Ó¸ü¶àµÄSQLÖ§³ÖºÍTable APIµÄÖ§³Ö¡£°¢Àï°Í°ÍµÄÒµÎñ³ÖÐøÔö³¤£¬ÕâÒâζ×ÅÎÒÃǵÄjob»áÔ½À´Ô½´ó£¬È·±£ÎÒÃÇ¿ÉÒÔÀ©Õ¹µ½¸ü´óµÄ¼¯Èº±äµÃÔ½À´Ô½ÖØÒª¡£

·Ç³£ÖØÒªµÄÊÇ£¬ÎÒÃÇÆÚ´ýÓëÉçÇø¼ÌÐøºÏ×÷£¬ÒԱ㽫ÎÒÃǵŤ×÷¹±Ï׻ؿªÔ´ÉçÇø£¬ÒÔ±ãËùÓÐFlinkÓû§¶¼ÄÜ´ÓÎÒÃǼÓÈëBlinkµÄ¹¤×÷ÖÐÊÜÒæ¡£ÎÒÃÇÆÚ´ý×ÅÔÚ2017ÄêFlink Forward´ó»áÉÏÏòÄú½éÉÜÎÒÃǵĽøÕ¹Çé¿ö¡£

   
2238 ´Îä¯ÀÀ       32
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

APPÍÆ¹ãÖ®ÇÉÓù¤¾ß½øÐÐÊý¾Ý·ÖÎö
Hadoop Hive»ù´¡sqlÓï·¨
Ó¦Óö༶»º´æÄ£Ê½Ö§³Åº£Á¿¶Á·þÎñ
HBase ³¬Ïêϸ½éÉÜ
HBase¼¼ÊõÏêϸ½éÉÜ
Spark¶¯Ì¬×ÊÔ´·ÖÅä

HadoopÓëSpark´óÊý¾Ý¼Ü¹¹
HadoopÔ­ÀíÓë¸ß¼¶Êµ¼ù
HadoopÔ­Àí¡¢Ó¦ÓÃÓëÓÅ»¯
´óÊý¾ÝÌåϵ¿ò¼ÜÓëÓ¦ÓÃ
´óÊý¾ÝµÄ¼¼ÊõÓëʵ¼ù
Spark´óÊý¾Ý´¦Àí¼¼Êõ

GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí