·ÖÏí

Flinkʵս֮ʵʱ·ç¿Ø¹æÔòÒýÇæ




ÎÊÌâµ¼¶Á£º

1¡¢ÔõÑù¹¹½¨Ò»¸ö·ç¿ØÒµÎñ¼Ü¹¹£¿
2¡¢·ç¿Ø¹æÔòÄ£ÐÍÓÐÄÄЩ£¿
3¡¢ÔõÑùʵÏÖFlink CEP ¶¯Ì¬¸üУ¿





Ò»¡¢ÏîÄ¿±³¾°

Ä¿Ç°Ç®´óÂè»ùÓÚÔÆÔ­Éú´óÊý¾Ý×é¼þ£¨DataWorks¡¢MaxCompute¡¢Flink¡¢Hologres£©¹¹½¨ÁËÀëÏߺÍʵʱÊý¾ÝÒ»Ì廯µÄÈ«ÇþµÀÊý¾ÝÖÐ̨£¬Îª¸÷ÒµÎñÏßÌṩ BI ±¨±í¼°Êý¾Ý½Ó¿ÚÖ§³Ö¡£³ýÁËÊý²ÖµÄ·ÖÎö³¡¾°ÒÔÍ⣬Ǯ´óÂèÃæÁÙ×ÅÒµÎñϵͳÖеķç¿ØÐèÇó£¬ÀýÈçÿ¼¾¶ÈµÄÓªÏú·ÑÓÃÖб»²»ÉÙµÄÑòëµ³Þ¶×ßÕý³£Óû§µÄÀûÒ棬ÆäÖÐÑòëµ³Ò»·½Ãæ¿ÉÄܵ¼ÖÂÓû§µÄ¿Ú±®Ï½µ£¬ÁíÒ»·½ÃæÒ²»áÓ°ÏìÔ­ÓеĻÔËÓªÔ¤ËãѸËÙÅÊÉý´Ó¶øµ¼ÖÂ×ÊËð¡£Ç®´óÂèÓë°¢ÀïÔÆ Flink ʵʱ¼ÆËãÍŶӹ²½¨ÊµÊ±·ç¿Ø¹æÔòÒýÇ棬¾«È·Ê¶±ðÑòëµ³ÒÔ·ÀÓªÏúÔ¤ËãÁ÷ʧ¡£

640.png
ͼһ£ºÇ®´óÂèʵʱ·ç¿ØÁ÷³ÌʾÒâͼ

¶þ¡¢ÒµÎñ¼Ü¹¹

Ç®´óÂè·ç¿ØÒµÎñ¼Ü¹¹Èçͼ¶þËùʾ×ܹ²·ÖΪËĸö²¿·Ö£ºÊ¼þ½ÓÈë¡¢·çÏÕ¸ÐÖª¡¢·çÏÕÓ¦¶Ô¡¢·çÏÕ»ØËÝ¡£Í¨¹ý Flink ÔÚÏß ETL ¼Ó¹¤´¦ÀíµÄʵʱÓû§»­Ïñ±êÇ©ºÍÏúÊÛÊÂʵָ±ê£¬³ýÁË×÷ΪÏßÉÏ BI Ö¸±êºÍʵʱ´óÆÁÊý¾Ýչʾ£¬Ò²ÎªÊµÊ±¹æÔòÒýÇæµÄʼþ½ÓÈëÌṩÖØÒªµÄÊý¾ÝÖ§³Ö¡£

  • ʼþ½ÓÈë¡£ÆäÖаüÀ¨ºÚ°×»ÒÃûµ¥¿â¡¢»­ÏñÌØÕ÷Êý¾Ý¡¢ÐÐΪÂñµãÊý¾ÝºÍÖÐ̨½»Ò×Êý¾Ý¡£

  • ·çÏÕ¸ÐÖª¡£²ßÂÔµ÷Ñк󷢲¼µ½¹æÔòÒýÇ棬²¢¶Ô¸æ¾¯½á¹û½øÐÐÀëÏ߻عéºÍ¶àÇþµÀ´¥´ï¡£

  • ·çÏÕÓ¦¶Ô¡£¶ÔÉæ¼°µ½²ÆÎñ½áËãµÄ¹æÔòÌṩÔÙÉóºË¡¢»íÃâ»úÖÆ»òÈ˹¤²¹³¥¡£

  • ·çÏÕ»ØËÝ¡£²ßÂÔÃüÖкó½øÐÐͳ¼ÆºÍ·çÏÕ·ÖÀà·Ö¼¶£¬Ô¤¾¯ÀëÏß»ØËݲ¢¶Ô·ç¿Øʼþ±Õ¼þ¡£

640 (1).png
ͼ¶þ£ºÇ®´óÂèʵʱ·ç¿ØÒµÎñ¼Ü¹¹Í¼

Èý¡¢¹æÔòÄ£ÐÍ

·ç¿ØÒµÎñרԱͨ¹ý²úÆ·½çÃæ¼òµ¥ÅäÖü´¿Éʵʱ¶¯Ì¬·¢²¼·ç¿Ø¹æÔò£¬Í¬Ê±¶ÔÔÚÏß Flink ×÷ÒµµÄ¹æÔò½øÐÐÐÂÔö¡¢¸üÐÂÒÔ¼°É¾³ý£¬ÆäÖзç¿Ø¹æÔòÄ£ÐÍÖ÷Òª·ÖΪͳ¼ÆÐ͹æÔòºÍÐòÁÐÐ͹æÔò£¬ÏàͬģÐÍÖ§³Ö×Ó¹æÔòµÄǶÌ×£¬²»Í¬Ä£ÐÍÖ®¼ä¿ÉÒÔͨ¹ýÓë¡¢»ò¹Øϵ½øÐÐ×éºÏ¡£

640 (2).png
ͼÈý£ºÇ®´óÂèFlink×÷ÒµDAG³éÏóͼ

ÒÔÏÂΪ¹æÔò×éºÏÖÐÐèÒª¶¯Ì¬ÅäÖÃÄÜÁ¦µÄÅäÖÃÏ

£¨1£©·Ö×é×ֶΡ£²»Í¬×ֶηÖ×é¡¢¶à×ֶηÖ×éµÄÇé¿öÔÚ·ç¿Ø¹æÔòµÄÓ¦ÓÃÖзdz£³£¼û¡£ÓÐÈçϹæÔòÑùÀý£º

  • ÒÔÓû§ ID ·Ö×飺"Óû§µÄϵ¥´ÎÊý"£»
  • ÒÔÓû§ ID¡¢ÇøÓò ID ×÷Ϊ·Ö×飺"Óû§Í¬Ò»¶Îʱ¼äÄÚ²»Í¬ÇøÓòµÄ¶©µ¥Êý"¡£

£¨2£©¾ÛºÏº¯Êý¡£¾ÛºÏº¯Êý°üÀ¨ÒµÎñ³£ÓõľۺÏÂß¼­£¬¹æÔòÒýÇæÒÀÀµ Flink ÄÚÖ÷ḻµÄÀÛ¼ÓÆ÷£¬²¢ÔÚ Accumulator ½Ó¿ÚµÄ»ù´¡ÉϽøÐÐÁ˸ù¾ÝÐèÇ󳡾°µÄ×Ô¶¨ÒåʵÏÖ¡£ÑùÀý¹æÔòÈçÏ£º
  • A Ãŵê½ü 30 ·ÖÖÓ¶ÀÁ¢Ïû·ÑÓû§ÊýСÓÚ 100£»
  • B ÃŵêпÍÏû·Ñ½ð¶î´óÓÚ 300¡£

£¨3£©´°¿ÚÖÜÆÚ¡£´°¿ÚÖÜÆÚÒ²¼´Ã¿¸ö´°¿ÚµÄ´óС£¬ÈçÒµÎñ·½¿ÉÄÜÏ£ÍûÔÚ³ÖÐø 30 ·ÖÖÓµÄÃëɱ»î¶¯ÖÜÆÚÄÚÔËÐйæÔò£¬»òÕßÏ£ÍûÖصã¹Ø×¢Ò쳣ʱ¶Î¡£

  • ÿ 30 ·ÖÖÓʱ¼ä´°¿ÚÄÚ£¬µ¥¸öÓû§·¢Æ𳬹ý 20 ±Êδ֧¸¶¶©µ¥£»
  • Á賿 1 µãÖÁ 3 µã£¬µ¥¸öÓû§Ö§¸¶¶©µ¥Êý³¬ 50 ±Ê¡£

£¨4£©´°¿ÚÀàÐÍ¡£ÎªÁËÃæ¶Ô²»Í¬µÄÒµÎñÐèÇó£¬ÎÒÃǽ«ÒµÎñ¹æÔòÖг£¼ûµÄ´°¿ÚÀàÐͼ¯³Éµ½¹æÔòÒýÇæÄÚ²¿¡£ÆäÖаüÀ¨»¬¶¯´°¿Ú¡¢Àۼƴ°¿Ú¡¢ÉõÖÁÊÇÎÞ´°¿Ú£¨¼´Ê±´¥·¢£©¡£

£¨5£©¾ÛºÏÇ°µÄ¹ýÂËÌõ¼þ£º

  • Ö»¶Ô"ϵ¥Ê¼þ"½øÐÐͳ¼Æ£»
  • ¹ýÂËÃŵê"ÐéÄâÓû§"¡£

£¨6£©¾ÛºÏºóµÄ¹ýÂËÌõ¼þ£º

  • Óû§ A ÔÚ 5 ·ÖÖÓÄÚϵ¥´ÎÊý "³¬¹ý 150 ´Î"£»
  • Óû§ B ÔÚ 5 ·ÖÖÓÄÚ¹ºÂò½ð¶î "³¬¹ý 300 Ôª"¡£

£¨7£©¼ÆËã±í´ïʽ¡£·ç¿Ø¹æÔòµÄ×ֶοھ¶Í¨³£ÊÇÐèÒª×éºÏ¼ÆËãµÄ£¬ÎÒÃÇÔÚ±í´ïʽ¼ÆËãºÍ±àÒëÖм¯³ÉÁ˸üÇá±ãºÍ¸ü¸ßÐÔÄÜµÄ Aviator ±í´ïʽÒýÇæ¡£¹æÔòÑùÀýÈçÏ£º

  • Ó¦ÊÕ½ð¶î´óÓÚ 150 Ôª£¨Ó¦ÊÕ½ð¶î = ÉÌÆ·½ð¶îºÏ¼Æ +ÔË·Ñ + ÓŻݺϼƣ©£»
  • ͨ¹ý POS ¶ËÖ§¸¶µÄÓ¦ÊÕ½ð¶î´óÓÚ 150 Ôª¡£

£¨8£©ÐÐΪÐòÁС£ÐÐΪÐòÁÐÆäʵҲÊÇʼþÓëʼþÖ®¼äµÄ×éºÏ£¬Ëû´òÆÆÁËÒÔÍù·ç¿Ø¹æÔòÖ»ÄÜ»ùÓÚµ¥Ê¼þά¶ÈÃèÊöÊÂʵµÄ±ÚÀÝ£¬ÔÚʼþÓëʼþÖ®¼äµÄÊÂʵÐÅÏ¢Ò²½«±»¹æÔòÒýÇ沶׽¡£¹æÔòÑùÀýÈçÏ£º

  • Óû§ A ÔÚ 5 ·ÖÖÓÄÚÒÀ´Î×öÁ˵ã»÷¡¢Êղء¢¼Ó¹º£»
  • Óû§ B ÔÚ 30 ·ÖÖÓÇ°ÁìÁËÓÅ»Ýȯ£¬µ«ÊÇûÓÐϵ¥¡£

640 (3).png
ͼËÄ£ºÊµÊ±·ç¿Ø¹æÔòÅäÖÃÒµÎñÂß¼­¼òͼ

ËÄ¡¢Äѵ㹥¼á

Õë¶Ô¹æÔòÄ£Ð͵ÄÁ÷ʽÐòÁÐÐÍÊý¾Ý£¬ÎÒÃÇÑ¡Ôñ Flink CEP ´¦ÀíʼþÐòÁÐÆ¥Å䣬ÓÉÓÚÎÒÃÇÕû¸ö·ç¿Ø×÷ҵʹÓà Flink ʵÏÖ£¬²¢ÇÒ Flink CEP ×÷Ϊ Flink ¹Ù·½Ô­ÉúÖ§³ÖµÄ Library£¬¼¯³É¶È¸ßÎÞÐèÒýÓöîÍâ×é¼þ¼´¿ÉÂú×ãʼþÐòÁÐÆ¥ÅäµÄÐèÇó¡£×÷ÒµÔ¤ÆÚÊÇÔÊÐíÓû§ÔÚ²úÆ·½çÃæÉÏÈÈ·¢²¼¹æÔòµÄ£¬µ«ÊÇ»ùÓÚ¿ªÔ´µÄ Flink CEP£¬ÊµÏÖ¹æÔò¶¯Ì¬¸üÐÂÄÜÁ¦´æÔÚÒÔÏÂÀ§Äѵ㣺

  • Flink ÉçÇøµÄ CEP API ÎÞ·¨Ö§³Ö¶¯Ì¬ÐÞ¸Ä Pattern ¼´ÎÞ·¨Âú×ãÉϲã¹æÔòÖÐ̨¡¢·ç¿ØÖÐ̨µÄ¿É¼¯³ÉÐÔ£»

  • Flink ÉçÇøµÄ CEP API ÎÞ·¨Ö§³ÖPattern ¶¨ÒåʼþÖ®¼äµÄ³¬Ê±¡£

°¢ÀïÔÆ Flink ʵʱ¼ÆËãÍŶӺÍÇ®´óÂ蹤³Ìʦ¹²Í¬¹¥¼á£¬ÔÚ Flink ÉçÇø·¢ÆðÈçÏÂÁ½¸ö FLIP Ìá°¸²¢ÇÒÔÚ°¢ÀïÔÆʵʱ¼ÆËã²úÆ·ÉÏÃæÊä³öÏàÓ¦¹¦Äܽâ¾ö´ËÎÊÌ⣺

  • FLIP-200 [1]£ºCEP Ö§³Ö¶à¹æÔòºÍ¶¯Ì¬ Pattern ±ä¸ü£»

  • FLIP-228 [2]£ºCEP Ö§³Ö Pattern ¶¨ÒåʼþÖ®¼äµÄ³¬Ê±¡£

°¢ÀïÔÆʵʱ¼ÆËã²úÆ·Êä³öµÄÖ§³Ö¶à¹æÔòºÍ¶¯Ì¬¹æÔò±ä¸ü¡¢Ö§³Ö Pattern ¶¨ÒåʼþÖ®¼äµÄ³¬Ê±ÒÔ¼°Ö§³Ö»ùÓÚ IterativeCondition µÄÀÛ¼ÓÆ÷¹¦ÄÜÍØ¿í Flink ÔÚʵʱ·ç¿ØµÄÄÜÁ¦£¬²¢ÇÒÉÏÊö¹¦ÄÜÒѾ­ÔÚÇ®´óÂèÉú²ú»·¾³ÂäµØʵ¼ù¡£ÆäÖÐ Flink CEP ¶¯Ì¬¸üРPattern »úÖÆÖÐÄÚ²¿¸÷×é¼þµÄ½»»¥×ÜÀÀÈçÏ£º

640 (4).png
ͼÎ壺ÉçÇøFlink CEP¶¯Ì¬Pattern»úÖÆ

·ç¿Ø¹æÔòÓɲúÆ·½çÃæ×÷ΪÈë¿Ú£¬¹æÔòдÈëµ½ Hologres ÖУ¬Í¬Ê± JDBCPatternProcessorDiscover ÖÜÆÚÐÔÂÖѯ·¢ÏÖ¹æÔòµÄ±ä¸ü¡£ÆäÖйæÔò±íµÄÊý¾Ý½á¹¹ÈçÏ£º

  • Id£º¹æÔòID£»

  • Version£º¹æÔò¶ÔÓ¦µÄ°æ±¾ºÅ£»

  • Keyby£º¹æÔò·Ö×é×ֶΣ¨ÈçÐè·Ö×飩£»

  • Pattern£ºCEP Pattern ÐòÁл¯ºóµÄ Json ×Ö·û´®£»

  • Function£ºCEP Æ¥Åäºó´¦ÀíµÄ PatternProcessFunction£»

  • Relation£ºÍ³¼ÆÐͺ͹æÔòÐÍÖ®¼äµÄÓë¡¢»ò¹Øϵ£¨Ç°Ì᣺ͳ¼ÆÐͺ͹æÔòÐ굀 ID Ïàͬ£©¡£

640 (5).png
ͼÁù£ºÉçÇøFlink¶¯Ì¬CEP¹æÔò±í

Îå¡¢»Ø¹ËÕ¹Íû

»ùÓÚ Flink µÄʵʱ·ç¿Ø½â¾ö·½°¸ÒѽÓÓ¦ÓÃÓÚÇ®´óÂ輯ÍÅÄÚ²¿Éú²ú»·¾³£¬Ôڴ˽â¾ö·½°¸ÀïδÒýÈëеļ¼Êõ×é¼þºÍ±à³ÌÓïÑÔ£¬×î´ó»¯¸´Óà Flink ×ÊԴʵÏÖʵʱ·ç¿Ø³¡¾°ÐèÇ󣬼«´ó½µµÍÐÂ×é¼þÒýÈë´æÔÚµÄDZÔÚÔËά·çÏÕ¡£ÁíÒ»·½ÃæÒ²¼«´ó½µµÍÑз¢ÍŶӵÄѧϰ³É±¾£¬¸ßЧÊÍ·Åʵʱ¼ÆËãµÄÈËÁ¦×ÊÔ´£¬²¢ÇÒ¶ÔÓÚÑз¢ºÍÒµÎñÓ¦ÓÃÉÏÃæ´øÀ´ÈçϺô¦£º

  • ½âñî Flink ×÷ÒµÂß¼­¿ª·¢ºÍÒµÎñ¹æÔò¶¨Ò壻

  • ÒµÎñ¹æÔò´æ´¢ÔÚ Database ÖУ¬±ãÓڲ鿴¹æÔòµ±Ç°×´Ì¬ºÍÀúÊ·°æ±¾£»

  • ¹æÔò±ä¸üÖ»ÐèÐÞ¸Ä Database ´æ´¢µÄ¹æÔò£¬Flink ×Ô¶¯¼ÓÔظüÐÂ×÷ÒµÖеĹæÔòÁÐ±í£»

  • ½áºÏ Flink Éú̬Äܹ»·Ç³£ÈÝÒ×¼¯³ÉʼþÒì¹¹Êý¾ÝÔ´µÄ¶ÁÈ¡ÓëдÈ룻

  • ½áºÏ Flink ·Ö²¼Ê½ÄÜÁ¦£¬´ó¹æÄ£À©Õ¹ÖÁÊýǧ²¢·¢¶ÈÆ¥ÅäÔËÐйæÔò¡£

ºóÐøÇ®´óÂ轫ºÍ°¢ÀïÔÆʵʱ¼ÆËã²úÆ·ÍŶӣ¬¼ÌÐø¹²½¨ÍêÉÆ»ùÓÚ Flink µÄʵʱ·ç¿Ø·ç¿Ø½â¾ö·½°¸£¬ÆäÖÐÔÚ Flink CEP µÄδÀ´¹æ»®½«Î§ÈÆÒÔÏÂÈý¸öÖ÷Òª·½ÏòÕ¹¿ª£º

  • Flink CEP ÄÜÁ¦µÄ½øÒ»²½ÔöÇ¿£»

  • Flink CEP SQL µÄ¶¯Ì¬ÄÜÁ¦£»

  • Flink + DSL µÄ Native Ö§³Ö¡£

×îо­µäÎÄÕ£¬»¶Ó­¹Ø×¢¹«ÖÚºÅ



---------------------

×÷ÕߣºApache Flink
À´Ô´£ºweixin
Ô­ÎÄ£ºÇ®´óÂè»ùÓÚ Flink µÄʵʱ·ç¿Øʵ¼ù



ûÕÒµ½ÈκÎÆÀÂÛ£¬ÆÚ´ýÄã´òÆƳÁ¼Å

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

ÍƼöÉÏÒ»Ìõ /2 ÏÂÒ»Ìõ