°¢Àï°Í°ÍÊÇÊÀ½çÉÏ×î´óµÄµç×ÓÉÌÎñÁãÊÛÉÌ¡£
ÎÒÃÇÔÚ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´ó»áÉÏÏòÄú½éÉÜÎÒÃǵĽøÕ¹Çé¿ö¡£
|