±à¼ÍƼö: |
±¾ÎĽéÉÜÁËÖªºõµÄʵʱÊý²Öʵ¼ùÒÔ¼°¼Ü¹¹µÄÑݽø£¬Ö÷Òª½²½âÁËʵʱÊý²Ö
1.0 ¡¢2.0Á½¸ö°æ±¾¼°¶ÔδÀ´µÄÕ¹Íû¡£
±¾ÎÄÀ´×Ôinfoq£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼¡¢ÍƼö¡£ |
|
¡°Êý¾ÝÖÇÄÜ¡± (Data Intelligence) ÓÐÒ»¸ö±ØÐëÇÒ»ù´¡µÄ»·½Ú£¬¾ÍÊÇÊý¾Ý²Ö¿âµÄ½¨É裬ͬʱ£¬Êý¾Ý²Ö¿âÒ²Êǹ«Ë¾Êý¾Ý·¢Õ¹µ½Ò»¶¨¹æÄ£ºó±ØÈ»»áÌṩµÄÒ»ÖÖ»ù´¡·þÎñ¡£´ÓÖÇÄÜÉÌÒµµÄ½Ç¶ÈÀ´½²£¬Êý¾ÝµÄ½á¹û´ú±íÁËÓû§µÄ·´À¡£¬»ñÈ¡½á¹ûµÄ¼°Ê±ÐÔ¾ÍÏÔµÃÓÈÎªÖØÒª£¬¿ìËٵĻñÈ¡Êý¾Ý·´À¡Äܹ»°ïÖú¹«Ë¾¸ü¿ìµÄ×ö³ö¾ö²ß£¬¸üºÃµÄ½øÐвúÆ·µü´ú£¬ÊµÊ±Êý²ÖÔÚÕâÒ»¹ý³ÌÖÐÆðµ½Á˲»¿ÉÌæ´úµÄ×÷Óá£
±¾ÎÄÖ÷Òª½²ÊöÖªºõµÄʵʱÊý²Öʵ¼ùÒÔ¼°¼Ü¹¹µÄÑݽø£¬Õâ°üÀ¨ÒÔϼ¸¸ö·½Ãæ
ʵʱÊý²Ö 1.0 °æ±¾£¬Ö÷Ì⣺ ETL Â߼ʵʱ»¯£¬¼¼Êõ·½°¸£ºSpark Streaming¡£
ʵʱÊý²Ö 2.0 °æ±¾£¬Ö÷Ì⣺Êý¾Ý·Ö²ã£¬Ö¸±ê¼ÆËãʵʱ»¯£¬¼¼Êõ·½°¸£ºFlink Streaming¡£
ʵʱÊý²ÖδÀ´Õ¹Íû£ºStreaming SQL ƽ̨»¯£¬ÔªÐÅÏ¢¹ÜÀíϵͳ»¯£¬½á¹ûÑéÊÕ×Ô¶¯»¯¡£
ʵʱÊý²Ö 1.0 °æ±¾
1.0 °æ±¾µÄʵʱÊý²ÖÖ÷ÒªÊǶÔÁ÷Á¿Êý¾Ý×öʵʱ ETL£¬²¢²»¼ÆËãʵʱָ±ê£¬Ò²Î´½¨Á¢ÆðʵʱÊý²ÖÌåϵ£¬ÊµÊ±³¡¾°±È½Ïµ¥Ò»£¬¶ÔʵʱÊý¾ÝÁ÷µÄ´¦ÀíÖ÷ÒªÊÇΪÁËÌáÉýÊý¾Ýƽ̨µÄ·þÎñÄÜÁ¦¡£ÊµÊ±Êý¾ÝµÄ´¦ÀíÏòÉÏÒÀÀµÊý¾ÝµÄÊÕ¼¯£¬ÏòϹØÏµµ½Êý¾ÝµÄ²éѯºÍ¿ÉÊÓ»¯£¬ÏÂͼÊÇʵʱÊý²Ö
1.0 °æ±¾µÄÕûÌåÊý¾Ý¼Ü¹¹Í¼¡£

µÚÒ»²¿·ÖÊÇÊý¾Ý²É¼¯£¬ÓÉÈý¶Ë SDK ²É¼¯Êý¾Ý²¢Í¨¹ý Log Collector Server ·¢Ë͵½
Kafka¡£µÚ¶þ²¿·ÖÊÇÊý¾Ý ETL£¬Ö÷ÒªÍê³É¶ÔÔʼÊý¾ÝµÄÇåÏ´ºÍ¼Ó¹¤²¢·ÖʵʱºÍÀëÏßµ¼Èë Druid¡£µÚÈý²¿·ÖÊÇÊý¾Ý¿ÉÊÓ»¯£¬ÓÉ
Druid ¸ºÔð¼ÆËãÖ¸±ê²¢Í¨¹ý Web Server ÅäºÏǰ¶ËÍê³ÉÊý¾Ý¿ÉÊÓ»¯¡£
ÓÉÓÚʵʱÊý¾ÝÁ÷µÄÎȶ¨ÐÔ²»ÈçÀëÏßÊý¾ÝÁ÷£¬µ±ÊµÊ±Á÷³öÏÖÎÊÌâºóÐèÒªÀëÏßÊý¾ÝÖØË¢ÀúÊ·Êý¾Ý£¬Òò´Ëʵʱ´¦Àí²¿·ÖÎÒÃDzÉÓÃÁË
lambda ¼Ü¹¹¡£
Lambda ¼Ü¹¹ÓиßÈÝ´í¡¢µÍÑÓʱºÍ¿ÉÀ©Õ¹µÄÌØµã£¬ÎªÁËʵÏÖÕâÒ»Éè¼Æ£¬ÎÒÃǽ« ETL ¹¤×÷·ÖΪÁ½²¿·Ö£ºStreaming
ETL ºÍ Batch ETL¡£
Streaming ETL
ÕâÒ»²¿·ÖÎÒ»á½éÉÜʵʱ¼ÆËã¿ò¼ÜµÄÑ¡Ôñ¡¢Êý¾ÝÕýÈ·ÐԵı£Ö¤¡¢ÒÔ¼° Streaming ÖÐһЩͨÓÃµÄ ETL
Âß¼£¬×îºó»¹»á½éÉÜ Spark Streaming ÔÚʵʱ ETL ÖеÄÎȶ¨ÐÔʵ¼ù¡£
¼ÆËã¿ò¼ÜÑ¡Ôñ
ÔÚ 2016 ÄêÄê³õ£¬Òµ½çÓõıȽ϶àµÄʵʱ¼ÆËã¿ò¼ÜÓÐ Storm ºÍ Spark Streaming¡£Storm
ÊÇ´¿Á÷ʽ¿ò¼Ü£¬Spark Streaming Óà Micro Batch Ä£ÄâÁ÷ʽ¼ÆË㣬ǰÕ߱ȺóÕ߸üʵʱ£¬ºóÕß±ÈǰÕßÍÌÍÂÁ¿´óÇÒÉú̬ϵͳ¸üÍêÉÆ£¬¿¼Âǵ½ÖªºõµÄÈÕÖ¾Á¿ÒÔ¼°³õÆÚ¶ÔʵʱÐÔµÄÒªÇó£¬ÎÒÃÇÑ¡ÔñÁË
Spark Streaming ×÷ΪʵʱÊý¾ÝµÄ´¦Àí¿ò¼Ü¡£
Êý¾ÝÕýÈ·ÐÔ±£Ö¤
Spark Streaming µÄ¶Ëµ½¶Ë Exactly-once ÐèÒªÏÂÓÎÖ§³ÖÃݵȡ¢ÉÏÓÎÖ§³ÖÁ÷Á¿ÖØ·Å£¬ÕâÀïÎÒÃÇÔÚ
Spark Streaming ÕâÒ»²ã×öµ½ÁË At-least-once£¬Õý³£Çé¿öÏÂÊý¾Ý²»Öز»ÉÙ£¬µ«ÔÚ³ÌÐòÖØÆôʱ¿ÉÄÜ»áÖØ·¢²¿·ÖÊý¾Ý£¬ÎªÁËʵÏÖÈ«¾ÖµÄ
Exactly-once£¬ÎÒÃÇÔÚÏÂÓÎ×öÁËÈ¥ÖØÂß¼£¬¹ØÓÚÈçºÎÈ¥ÖØºóÃæÎһὲµ½¡£
ͨÓà ETL Âß¼
ETL Âß¼ºÍÂñµãµÄÊý¾Ý½á¹¹Ï¢Ï¢Ïà¹Ø£¬ÎÒÃÇËùÓеÄÂñµã¹²ÓÃͬһÌ× Proto Buffer Schema£¬´óÖÂÈçÏÂËùʾ¡£
message LogEntry
{
optional BaseInfo base = 1;
optional DetailInfo detail = 2;
optional ExtraInfo extra = 3;
} |
BaseInfo£ºÈÕÖ¾ÖÐ×î»ù±¾µÄÐÅÏ¢£¬°üÀ¨Óû§ÐÅÏ¢¡¢¿Í»§¶ËÐÅÏ¢¡¢Ê±¼äÐÅÏ¢¡¢ÍøÂçÐÅÏ¢µÈÈÕÖ¾·¢ËÍʱµÄ±ØÒªÐÅÏ¢¡£DetailInfo£ºÈÕÖ¾ÖеÄÊÓͼÐÅÏ¢£¬°üÀ¨µ±Ç°ÊÓͼ¡¢ÉÏÒ»¸öÊÓͼµÈÓÃÓÚ¶¨Î»Óû§ËùÔÚλÖõÄÐÅÏ¢¡£ExtraInfo£ºÈÕÖ¾ÖÐÓëÌØ¶¨ÒµÎñÏà¹ØµÄ¶îÍâÐÅÏ¢¡£
Õë¶ÔÉÏÊöÈýÖÖÐÅÏ¢ÎÒÃǽ« ETL Âß¼·ÖΪͨÓúͷÇͨÓÃÁ½À࣬ͨÓÃÂß¼ºÍ¸÷¸öÒµÎñÏà¹Ø£¬Ö÷ÒªÓ¦ÓÃÓÚ Base
ºÍ Detail ÐÅÏ¢£¬·ÇͨÓÃÂß¼ÔòÊÇÓÉÐèÇó·½Õë¶Ôij´ÎÐèÇóÌá³ö£¬Ö÷ÒªÓ¦ÓÃÓÚ Extra ÐÅÏ¢¡£ÕâÀïÎÒÃÇÁоÙ
3 ¸öͨÓÃÂß¼½øÐнéÉÜ£¬Õâ°üÀ¨£º¶¯Ì¬ÅäÖà Streaming¡¢UTM ²ÎÊý½âÎö¡¢ÐÂÀÏÓû§Ê¶±ð¡£
¶¯Ì¬ÅäÖà Streaming
ÓÉÓÚ Streaming ÈÎÎñÐèÒª 7 * 24 СʱÔËÐУ¬µ«ÓÐЩҵÎñÂß¼£¬±ÈÈ磺´æÔÚÒ»¸öÔªÊý¾ÝÐÅÏ¢ÖÐÐÄ£¬µ±Õâ¸öÔªÊý¾Ý·¢Éú±ä»¯Ê±£¬ÐèÒª½«ÕâÖֱ仯ӳÉäµ½Êý¾ÝÁ÷ÉÏ·½±ãÏÂÓÎʹÓÃÊý¾Ý£¬ÕâÖֱ仯¿ÉÄÜÐèҪֹͣ
Streaming ÈÎÎñÒÔ¸üÐÂÒµÎñÂß¼£¬µ«ÔªÊý¾Ý±ä»¯µÄƵÂʷdz£¸ß£¬ÇÒÔÚÔªÊý¾Ý±ä»¯ºóÈçºÎ¼°Ê±Í¨Öª³ÌÐòµÄά»¤ÕßÒ²ºÜÄÑ¡£¶¯Ì¬ÅäÖÃ
Streaming ΪÎÒÃÇÌṩÁËÒ»¸ö½â¾ö·½°¸£¬¸Ã·½°¸ÈçÏÂͼËùʾ¡£

ÎÒÃÇ¿ÉÒ԰Ѿ³£±ä»¯µÄÔªÊý¾Ý×÷Ϊ Streaming Broadcast ±äÁ¿£¬¸Ã±äÁ¿°çÑݵĽÇÉ«ÀàËÆÓÚÖ»¶Á»º´æ£¬Í¬Ê±Õë¶Ô¸Ã±äÁ¿¿ÉÉèÖÃ
TTL£¬»º´æ¹ýÆÚºó Executor ½Úµã»áÖØÐÂÏò Driver ÇëÇó×îеıäÁ¿¡£Í¨¹ýÕâÖÖ»úÖÆ¿ÉÒԷdz£×ÔÈ»µÄ½«ÔªÊý¾ÝµÄ±ä»¯Ó³Éäµ½Êý¾ÝÁ÷ÉÏ£¬ÎÞÐèÖØÆôÈÎÎñÒ²ÎÞÐè֪ͨ³ÌÐòµÄά»¤Õß¡£
UTM ²ÎÊý½âÎö
UTM µÄÈ«³ÆÊÇ Urchin Tracking Module£¬ÊÇÓÃÓÚ×·×ÙÍøÕ¾Á÷Á¿À´Ô´µÄÀûÆ÷£¬¹ØÓÚ
UTM ±³¾°ÖªÊ¶½éÉÜ¿ÉÒԲο¼ÍøÉÏÆäËûÄÚÈÝ£¬ÕâÀï²»ÔÙ׸Êö¡£ÏÂͼÊÇÎÒÃǽâÎö UTM ÐÅÏ¢µÄÍêÕûÂß¼¡£

Á÷Á¿Êý¾Ýͨ¹ý UTM ²ÎÊý½âÎöºó£¬ÎÒÃÇ¿ÉÒÔºÜÈÝÒ×Âú×ãÒÔÏÂÐèÇó
²é¿´¸÷ËÑË÷ÒýÇæµ¼Á÷Çé¿öÒÔ¼°ÕâЩÁ÷Á¿À´×ÔÓÚÄÄЩÈÈÃÅËÑË÷´Ê¡£
Êг¡²¿Ä³´Î»î¶¯´øÀ´µÄÁ÷Á¿´óС£¬Èç£ºÒ³Ãæä¯ÀÀÊý¡¢¶ÀÁ¢·ÃÎÊÓû§ÊýµÈ¡£
´ÓÕ¾ÄÚ·ÖÏí³öÈ¥µÄÁ´½ÓÔÚ¸÷·ÖÏíÆ½Ì¨£¨È磺΢ÐÅ¡¢Î¢²©£©±»ä¯ÀÀµÄÇé¿ö¡£
ÐÂÀÏÓû§Ê¶±ð
¶ÔÓÚ»¥ÁªÍø¹«Ë¾¶øÑÔ£¬Ôö³¤ÊÇÒ»¸öÓÀºãµÄ»°Ì⣬ʵʱÄõ½ÐÂÔöÓû§Á¿£¬¶ÔÓÚÔö³¤ÔËӪʮ·ÖÖØÒª¡£ÀýÈ磺һ´ÎͶ·Å
n ¸öÇþµÀ£¬Èç¹ûÄÜÄõ½Ã¿¸öÇþµÀµÄʵʱÐÂÔöÓû§Êý£¬¾Í¿ÉÒÔ¿ìËÙÅжϳöÄÇЩÇþµÀ¸üÓмÛÖµ¡£ÎÒÃÇÓÃÏÂͼÀ´±í´ï
Streaming ETL ÖÐÊÇÈçºÎʶ±ðÐÂÀÏÓû§µÄ¡£

ÅжÏÒ»¸öÓû§ÊDz»ÊÇÐÂÓû§£¬×î¼òµ¥µÄ°ì·¨¾ÍÊÇά»¤Ò»¸öÀúÊ·Óû§³Ø£¬¶ÔÿÌõÈÕÖ¾ÅжϸÃÓû§ÊÇ·ñ´æÔÚÓÚÓû§³ØÖС£
ÓÉÓÚÈÕÖ¾Á¿¾Þ´ó£¬ÎªÁ˲»Ó°Ïì Streaming ÈÎÎñµÄ´¦ÀíËÙ¶È£¬ÎÒÃÇÉè¼ÆÁËÁ½²ã»º´æ£ºThread Local
Cache ºÍ Redis Cache£¬Í¬Ê±Óà HBase ×ö³Ö¾Ã»¯´æ´¢ÒÔ±£´æÀúÊ·Óû§¡£·ÃÎÊËÙ¶È£º±¾µØÄÚ´æ
> Ô¶¶ËÄÚ´æ > Ô¶¶Ë´ÅÅÌ£¬¶ÔÓÚÎÒÃÇÕâ¸öÈÎÎñÀ´Ëµ£¬Ö»ÓÐ 1% ×óÓÒµÄÇëÇó»á´òµ½ HBase£¬ÈÕÖ¾¸ß·åÆÚ
26w/s£¬ÍêÈ«²»»áÓ°ÏìÈÎÎñµÄʵʱÐÔ¡£µ±È»±¾µØ»º´æ LruCache µÄÈÝÁ¿´óСºÍ Redis µÄÐÔÄÜÒ²ÊÇÓ°ÏìʵʱÐÔµÄÁ½¸öÒòËØ¡£
Streaming ETL ³ýÁËÉÏÊö¼¸¸öͨÓó¡¾°Í⣬»¹ÓÐһЩÆäËûÂß¼£¬ÕâЩÂß¼µÄ´æÔÚÓеÄÊÇΪÁËÂú×ãÏÂÓθü·½±ãµÄʹÓÃÊý¾ÝµÄÐèÇó£¬ÓеÄÊǶÔijЩ´íÎóÂñµãµÄÐÞ¸´£¬×ÜÖ®
Streaming ETL ÔÚÕû¸öʵʱÊý²ÖÖд¦ÓÚÖ¸±ê¼ÆËãµÄÉÏÓΣ¬ÓÐ×Ų»¿ÉÌæ´úµÄ×÷Óá£
Spark Streaming ÔÚʵʱÊý²Ö 1.0 ÖеÄÎȶ¨ÐÔʵ¼ù
Spark Streaming Ïû·Ñ Kafka Êý¾ÝÍÆ¼öʹÓà Direct ģʽ¡£ÎÒÃÇÔçÆÚʹÓõÄÊÇ
High Level »òÕ߽РReceiver ģʽ²¢Ê¹ÓÃÁË checkpoint ¹¦ÄÜ£¬ÕâÖÖ·½Ê½ÔÚ¸üгÌÐòÂ߼ʱÐèҪɾ³ý
checkpoint ·ñÔòеijÌÐòÂß¼¾ÍÎÞ·¨ÉúЧ¡£ÁíÍ⣬ÓÉÓÚʹÓÃÁË checkpoint ¹¦ÄÜ£¬Streaming
ÈÎÎñ»á±£³ÖºÍ Hdfs ͨÐÅ£¬¿ÉÄÜ»áÒòΪ NameNode µÄ¶¶¶¯µ¼Ö Streaming ÈÎÎñ¶¶¶¯¡£Òò´Ë£¬ÍƼöʹÓÃ
Direct ģʽ£¬¹ØÓÚÕâÖÖģʽºÍ Receiver ģʽµÄÏêϸ¶Ô±È£¬¿ÉÒԲο¼¹Ù·½Îĵµ¡£
±£Ö¤ Spark Streaming ÈÎÎñµÄ×ÊÔ´Îȶ¨¡£ÒÔ Yarn ΪÀý£¬ÔËÐÐ Streaming
ÈÎÎñµÄ¶ÓÁÐÄܹ»·ÖÅäµ½µÄ×îС×ÊԴСÓÚÁËÈÎÎñËùÐèÒªµÄ×ÊÔ´£¬ÈÎÎñ»á³öÏÖÆµ·±¶ªÊ§ Executor µÄÇé¿ö£¬Õâ»áµ¼ÖÂ
Streaming ÈÎÎñ±äÂý£¬ÒòΪ¶ªÊ§µÄ Executor Ëù¶ÔÓ¦µÄÊý¾ÝÐèÒªÖØÐ¼ÆË㣬ͬʱ»¹ÐèÒªÖØÐ·ÖÅä
Executor¡£
Spark Streaming Ïû·Ñ Kafka ʱÐèÒª×öÊý¾ÝÁ÷ÏÞËÙ¡£Ä¬ÈÏÇé¿öÏ Spark Streaming
ÒÔ¾¡¿ÉÄÜ´óµÄËٶȶÁÈ¡ÏûÏ¢¶ÓÁУ¬µ± Streaming ÈÎÎñ¹ÒÁ˺ܾÃÖ®ºóÔٴ௒ô¶¯Ê±£¬ÓÉÓÚÀÈ¡µÄÊý¾ÝÁ¿¹ý´ó¿ÉÄܻᵼÖÂÉÏÓεÄ
Kafka ¼¯Èº IO ±»´ò±¬½ø¶ø³öÏÖ Kafka ¼¯Èº³¤Ê±¼ä×èÈû¡£¿ÉÒÔʹÓà Streaming Conf
²ÎÊý×öÏÞËÙ£¬ÏÞ¶¨Ã¿ÃëÀÈ¡µÄ×î´óËÙ¶È¡£
Spark Streaming ÈÎÎñʧ°ÜºóÐèÒª×Ô¶¯ÀÆð¡£³¤Ê±¼äÔËÐз¢ÏÖ£¬Spark Streaming
²¢²»ÄÜ 7 * 24h Îȶ¨ÔËÐУ¬ÎÒÃÇÓà Supervisor ¹ÜÀí Driver ½ø³Ì£¬µ±ÈÎÎñ¹Òµôºó
Driver ½ø³Ì½«²»¸´´æÔÚ£¬´Ëʱ Supervisor ½«ÖØÐÂÀÆð Streaming ÈÎÎñ¡£
Batch ETL
½ÓÏÂÀ´Òª½éÉܵÄÊÇ Lambda ¼Ü¹¹µÄµÚ¶þ¸ö²¿·Ö£ºBatch ETL£¬´Ë²¿·ÖÎÒÃÇÐèÒª½â¾öÊý¾ÝÂ䵨¡¢ÀëÏß
ETL¡¢Êý¾ÝÅúÁ¿µ¼Èë Druid µÈÎÊÌâ¡£Õë¶ÔÊý¾ÝÂ䵨ÎÒÃÇ×ÔÑÐÁË map reduce ÈÎÎñ Batch
Loader£¬Õë¶ÔÊý¾ÝÐÞ¸´ÎÒÃÇ×ÔÑÐÁËÀëÏßÈÎÎñ Repair ETL£¬ÀëÏßÐÞ¸´Âß¼ºÍʵʱÂß¼¹²ÓÃÒ»Ì×
ETL Lib£¬Õë¶ÔÅúÁ¿µ¼Èë ProtoParquet Êý¾Ýµ½ Druid£¬ÎÒÃÇÀ©Õ¹ÁË Druid
µÄµ¼Èë²å¼þ¡£
Repair ETL
Êý¾Ý¼Ü¹¹Í¼ÖÐÓÐÁ½¸ö Kafka£¬µÚÒ»¸ö Kafka ´æ·ÅµÄÊÇÔʼÈÕÖ¾£¬µÚ¶þ¸ö Kafka ´æ·ÅµÄÊÇʵʱ
ETL ºóµÄÈÕÖ¾£¬ÎÒÃǽ«Á½¸ö Kafka µÄÊý¾ÝÈ«²¿Â䵨£¬ÕâÑù×öµÄÄ¿µÄÊÇΪÁ˱£Ö¤Êý¾ÝÁ´Â·µÄÎȶ¨ÐÔ¡£ÒòΪʵʱ
ETL ÖÐÓдóÁ¿µÄÒµÎñÂß¼£¬Î´ÖªÐèÇóµÄÂß¼Ò²Ðí»á¸øÕû¸öÁ÷Á¿Êý¾Ý´øÀ´°²È«Òþ»¼£¬¶øÉÏÓ뵀 Log Collect
Server ²»´æÔÚÈκÎÒµÎñÂß¼Ö»¸ºÔðÊÕ·¢ÈÕÖ¾£¬Ïà±È֮ϵÚÒ»¸ö Kafka µÄÊý¾ÝÒª°²È«ºÍÎȶ¨µÄ¶à¡£Repair
ETL ²¢²»ÊǾ³£ÆôÓã¬Ö»Óе±ÊµÊ± ETL ¶ªÊ§Êý¾Ý»òÕß³öÏÖÂß¼´íÎóʱ£¬²Å»áÆôÓøóÌÐòÓÃÓÚÐÞ¸´ÈÕÖ¾¡£
Batch Load 2 HDFS
Ç°ÃæÒѾ½éÉܹý£¬ÎÒÃÇËùÓеÄÂñµã¹²ÓÃͬһÌ× Proto Buffer Schema£¬Êý¾Ý´«Êä¸ñʽȫ²¿Îª¶þ½øÖÆ¡£ÎÒÃÇ×ÔÑÐÁËÂ䵨
Kafka PB Êý¾Ýµ½ Hdfs µÄ Map Reduce ÈÎÎñ BatchLoader£¬¸ÃÈÎÎñ³ýÁËÂ䵨Êý¾ÝÍ⣬»¹¸ºÔð¶ÔÊý¾ÝÈ¥ÖØ¡£ÔÚ
Streaming ETL ½×¶ÎÎÒÃÇ×öµ½ÁË At-least-once£¬Í¨¹ý´Ë´¦µÄ BatchLoader
È¥ÖØÎÒÃÇʵÏÖÁËÈ«¾Ö Exactly-once¡£BatchLoader ³ýÁËÖ§³ÖÂ䵨Êý¾Ý¡¢¶ÔÊý¾ÝÈ¥ÖØÍ⣬»¹Ö§³Ö¶àĿ¼·ÖÇø£¨p_date/p_hour/p_plaform/p_logtype£©¡¢Êý¾Ý»Ø·Å¡¢×ÔÒÀÀµ¹ÜÀí£¨ÔçÆÚûÓÐͳһµÄµ÷¶ÈÆ÷£©µÈ¡£½ØÖ¹µ½Ä¿Ç°£¬BatchLoader
Â䵨ÁË 40+ µÄ Kakfa Topic Êý¾Ý¡£
Batch Load 2 Druid
²ÉÓà Tranquility ʵʱµ¼Èë Druid£¬ÕâÖÖ·½Ê½Ç¿ÖÆÐèÒªÒ»¸öʱ¼ä´°¿Ú£¬µ±ÉÏÓÎÊý¾ÝÑÓ³Ù³¬¹ý´°Öµºó»á¶ªÆú´°¿ÚÖ®ÍâµÄÊý¾Ý£¬ÕâÖÖÇé¿ö»áµ¼ÖÂʵʱ±¨±í³öÏÖÖ¸±ê´íÎó¡£ÎªÁËÐÞ¸´ÕâÖÖ´íÎó£¬ÎÒÃÇͨ¹ý
Druid ·¢ÆðÒ»¸öÀëÏß Map Reduce ÈÎÎñ¶¨ÆÚÖØµ¼ÉÏÒ»¸öʱ¼ä¶ÎµÄÊý¾Ý¡£Í¨¹ýÕâÀïµÄ Batch
µ¼ÈëºÍÇ°ÃæµÄʵʱµ¼È룬ʵÏÖÁËʵʱÊý²ÖµÄ Lambda ¼Ü¹¹¡£
ʵʱÊý²Ö 1.0 µÄ¼¸¸ö²»×ãÖ®´¦
µ½Ä¿Ç°ÎªÖ¹ÎÒÃÇÒѾ½éÉÜÍê Lambda ¼Ü¹¹ÊµÊ±Êý²ÖµÄ¼¸¸öÄ£¿é£¬1.0 °æ±¾µÄʵʱÊý²ÖÓÐÒÔϼ¸¸ö²»×ã
ËùÓеÄÁ÷Á¿Êý¾Ý´æ·ÅÔÚͬһ¸ö Kafka Topic ÖУ¬Èç¹ûÏÂÓÎÿ¸öÒµÎñÏß¶¼ÒªÏû·Ñ£¬Õâ»áµ¼ÖÂÈ«Á¿Êý¾Ý±»Ïû·Ñ¶à´Î£¬Kafka
³öÁ÷Á¿Ì«¸ßÎÞ·¨Âú×ã¸ÃÐèÇó¡£
ËùÓеÄÖ¸±ê¼ÆËãÈ«²¿ÓÉ Druid ³Ðµ££¬Druid ͬʱ¼æ¹ËʵʱÊý¾ÝÔ´ºÍÀëÏßÊý¾ÝÔ´µÄ²éѯ£¬Ëæ×ÅÊý¾ÝÁ¿µÄ±©ÕÇ
Druid Îȶ¨ÐÔ¼±¾çϽµ£¬Õâµ¼Ö¸÷¸öÒµÎñµÄºËÐı¨±í²»ÄÜÎȶ¨²ú³ö¡£
ÓÉÓÚÿ¸öÒµÎñʹÓÃͬһ¸öÁ÷Á¿Êý¾ÝÔ´ÅäÖñ¨±í£¬µ¼Ö²éѯЧÂʵÍÏ£¬Í¬Ê±ÎÞ·¨¶ÔÒµÎñ×öÊý¾Ý¸ôÀëºÍ³É±¾¼ÆËã¡£
ʵʱÊý²Ö 2.0 °æ±¾
Ëæ×ÅÊý¾ÝÁ¿µÄ±©ÕÇ£¬Druid ÖеÄÁ÷Á¿Êý¾ÝÔ´¾³£²éѯ³¬Ê±Í¬Ê±¸÷ÒµÎñÏû·ÑʵʱÊý¾ÝµÄÐèÇóÒ²¿ªÊ¼Ôö¶à£¬Èç¹û¼ÌÐøÑØÓÃʵʱÊý²Ö
1.0 ¼Ü¹¹£¬ÐèÒª¸¶³ö´óÁ¿µÄ¶îÍâ³É±¾¡£ÓÚÊÇ£¬ÔÚʵʱÊý²Ö 1.0 µÄ»ù´¡ÉÏ£¬ÎÒÃǽ¨Á¢ÆðÁËʵʱÊý²Ö 2.0£¬ÊáÀí³öÁËеļܹ¹Éè¼Æ²¢¿ªÊ¼×ÅÊÖ½¨Á¢ÊµÊ±Êý²ÖÌåϵ£¬Ðµļܹ¹ÈçÏÂͼËùʾ¡£

Ôʼ²ã
ʵʱÊý²Ö 1.0 ÎÒÃÇÖ»¶ÔÁ÷Á¿Êý¾Ý×ö ETL ´¦Àí£¬ÔÚ 2.0 °æ±¾ÖÐÎÒÃǼÓÈëÁ˶ÔÒµÎñ¿âµÄ±ä¸üÈÕÖ¾
Binlog µÄ´¦Àí£¬Binlog ÈÕÖ¾ÔÚÔʼ²ãΪ¿â¼¶±ð»òÕß Mysql ʵÀý¼¶±ð£¬¼´£ºÒ»¸ö¿â»òÕßʵÀýµÄ±ä¸üÈÕÖ¾´æ·ÅÔÚͬһ¸ö
Kafka Topic ÖС£Í¬Ê±Ëæ×Ź«Ë¾ÒµÎñµÄ·¢Õ¹²»¶ÏÓÐРApp ²úÉú£¬ÔÚÔʼ²ã²»½ö²É¼¯¡¸Öªºõ¡¹ÈÕÖ¾£¬ÏñÖªºõ¼«ËÙ°æÒÔ¼°ÄÚ²¿·õ»¯ÏîÄ¿µÄÂñµãÊý¾ÝÒ²ÐèÒª²É¼¯£¬²»Í¬
App µÄÂñµãÊý¾ÝÈÔȻʹÓÃͬһÌ× PB Schema¡£
Ã÷ϸ²ã
Ã÷ϸ²ãÊÇÎÒÃÇµÄ ETL ²ã£¬ÕâÒ»²ãÊý¾ÝÊÇÓÉÔʼ²ã¾¹ý Streaming ETL ºóµÃµ½¡£ÆäÖÐ¶Ô Binlog
ÈÕÖ¾µÄ´¦ÀíÖ÷ÒªÊÇÍê³É¿â»òÕßʵÀýÈÕÖ¾µ½±íÈÕÖ¾µÄ²ð·Ö£¬¶ÔÁ÷Á¿ÈÕÖ¾Ö÷ÒªÊÇ×öһЩͨÓà ETL ´¦Àí£¬ÓÉÓÚÎÒÃÇʹÓõÄÊÇͬһÌ×
PB ½á¹¹£¬¶Ô²»Í¬ App Êý¾Ý´¦ÀíµÄÂß¼´úÂë¿ÉÒÔÍêÈ«¸´Óã¬Õâ´ó´ó½µµÍÁËÎÒÃǵĿª·¢³É±¾¡£
»ã×ܲãÖ®Ã÷ϸ»ã×Ü
Ã÷ϸ»ã×ܲãÊÇÓÉÃ÷ϸ²ãͨ¹ý ETL µÃµ½£¬Ö÷ÒªÒÔ¿í±íÐÎʽ´æÔÚ¡£ÒµÎñÃ÷ϸ»ã×ÜÊÇÓÉÒµÎñÊÂʵÃ÷ϸ±íºÍά¶È±í
Join µÃµ½£¬Á÷Á¿Ã÷ϸ»ã×ÜÊÇÓÉÁ÷Á¿ÈÕÖ¾°´ÒµÎñÏß²ð·ÖºÍÁ÷Á¿Î¬¶È Join µÃµ½¡£Á÷Á¿°´ÒµÎñ²ð·Öºó¿ÉÒÔÂú×ã¸÷ÒµÎñʵʱÏû·ÑµÄÐèÇó£¬ÎÒÃÇÔÚÁ÷Á¿²ð·ÖÕâÒ»¿é×öµ½ÁË×Ô¶¯»¯£¬ÏÂͼÑÝʾÁËÁ÷Á¿Êý¾Ý×Ô¶¯ÇзֵĹý³Ì¡£

Streaming Proxy ÊÇÁ÷Á¿·Ö·¢Ä£¿é£¬ËüÏû·ÑÉÏÓÎ ETL ºóµÄÈ«Á¿Êý¾Ý²¢¶¨ÆÚ¶ÁÈ¡ÂñµãÔªÐÅÏ¢£¬Í¨¹ý½«Á÷Á¿Êý¾ÝÓëÔªÐÅÏ¢Êý¾Ý½øÐС¸Join¡¹Íê³É°´ÒµÎñ½øÐÐÁ÷Á¿²ð·ÖµÄÂß¼£¬Í¬Ê±Ò²»á¶ÔÇзֺóµÄÁ÷Á¿°´ÒµÎñ×ö
ETL ´¦Àí¡£ Ö»ÒªÂñµãÔªÐÅÏ¢ÖÐÐÂÔöÒ»¸öÂñµã£¬ÄÇôÕâ¸öÂñµã¶ÔÓ¦µÄÊý¾Ý¾Í»á×Ô¶¯Çзֵ½¸ÃÒµÎñµÄ Kafka
ÖУ¬×îÖÕÒµÎñ Kafka ÖеÄÊý¾ÝÊǶÀÊôÓÚµ±Ç°ÒµÎñµÄÇÒÒѾ±»Í¨Óà ETL ºÍÒµÎñ ETL ´¦Àí¹ý£¬Õâ´ó´ó½µµÍÁ˸÷¸öÒµÎñʹÓÃÊý¾ÝµÄ³É±¾¡£
»ã×ܲãÖ®Ö¸±ê»ã×Ü
Ö¸±ê»ã×ܲãÊÇÓÉÃ÷ϸ²ã»òÕßÃ÷ϸ»ã×ܲãͨ¹ý¾ÛºÏ¼ÆËãµÃµ½£¬ÕâÒ»²ã²ú³öÁ˾ø´ó²¿·ÖµÄʵʱÊý²ÖÖ¸±ê£¬ÕâÒ²ÊÇÓëʵʱÊý²Ö
1.0 ×î´óµÄÇø±ð¡£ÖªºõÊÇÒ»¸öÉú²úÄÚÈÝµÄÆ½Ì¨£¬¶ÔÒµÎñÖ¸±êµÄ»ã×ÜÎÒÃÇ¿ÉÒÔ´ÓÄÚÈݽǶȺÍÓû§½Ç¶È½øÐлã×Ü£¬´ÓÄÚÈݽǶÈÎÒÃÇ¿ÉÒÔʵʱͳ¼ÆÄÚÈÝ£¨ÄÚÈÝ¿ÉÒÔÊǴ𰸡¢ÎÊÌâ¡¢ÎÄÕ¡¢ÊÓÆµ¡¢Ïë·¨£©µÄ±»µãÔÞÊý¡¢±»¹Ø×¢Êý¡¢±»ÊÕ²ØÊýµÈÖ¸±ê£¬´ÓÓû§½Ç¶ÈÎÒ¿ÉÒÔʵʱͳ¼ÆÓû§µÄ·ÛË¿Êý¡¢»Ø´ðÊý¡¢ÌáÎÊÊýµÈÖ¸±ê¡£¶ÔÁ÷Á¿Ö¸±êµÄ»ã×ÜÎÒÃÇ·ÖΪ¸÷ÒµÎñÖ¸±ê»ã×ܺÍÈ«¾ÖÖ¸±ê»ã×Ü¡£¶Ô¸÷ÒµÎñÖ¸±ê»ã×Ü£¬ÎÒÃÇ¿ÉÒÔʵʱͳ¼ÆÊ×Ò³¡¢ËÑË÷¡¢ÊÓÆµ¡¢Ïë·¨µÈÒµÎñµÄ¿¨Æ¬ÆØ¹âÊý¡¢¿¨Æ¬µã»÷Êý¡¢CTR
µÈ£¬¶ÔÈ«¾ÖÖ¸±ê»ã×ÜÎÒÃÇÖ÷ÒªÒÔʵʱ»á»°ÎªÖ÷£¬ÊµÊ±Í³¼ÆÒ»¸ö»á»°ÄÚµÄ PV Êý¡¢¿¨Æ¬ÆØ¹âÊý¡¢µã»÷Êý¡¢ä¯ÀÀÉî¶È¡¢»á»°Ê±³¤µÈÖ¸±ê¡£
Ö¸±ê»ã×ܲãµÄ´æ´¢Ñ¡ÐÍ
²»Í¬ÓÚÃ÷ϸ²ãºÍÃ÷ϸ»ã×ܲ㣬ָ±ê»ã×ܲãÐèÒª½«ÊµÊ±¼ÆËãºÃµÄÖ¸±ê´æ´¢ÆðÀ´ÒÔ¹©Ó¦ÓòãʹÓá£ÎÒÃǸù¾Ý²»Í¬µÄ³¡¾°Ñ¡ÓÃÁË
HBase ºÍ Redis ×÷Ϊʵʱָ±êµÄ´æ´¢ÒýÇæ¡£Redis µÄ³¡¾°Ö÷ÒªÊÇÂú×ã´ø Update ²Ù×÷ÇÒ
OPS ½Ï¸ßµÄÐèÇó£¬ÀýÈ磺ʵʱͳ¼ÆÈ«Õ¾ËùÓÐÄÚÈÝ£¨ÎÊÌâ¡¢´ð°¸¡¢ÎÄÕµȣ©µÄÀÛ¼Æ PV Êý£¬ÓÉÓÚä¯ÀÀÄÚÈݲúÉú´óÁ¿µÄ
PV ÈÕÖ¾£¬¿ÉÄܸߴXÍò»òÕß¼¸Ê®ÍòÿÃ룬ÐèÒª¶ÔÿһÌõÄÚÈÝµÄ PV ½øÐÐʵʱÀÛ¼Ó£¬ÕâÖÖ³¡¾°ÏÂÑ¡Óà Redis
¸üΪºÏÊÊ¡£HBase µÄ³¡¾°Ö÷ÒªÊÇÂú×ã¸ßƵ Append ²Ù×÷¡¢µÍÆµËæ»ú¶ÁÈ¡ÇÒÖ¸±êÁн϶àµÄÐèÇó£¬ÀýÈ磺ÿ·ÖÖÓͳ¼ÆÒ»´ÎËùÓÐÄÚÈݵı»µãÔÞÊý¡¢±»¹Ø×¢Êý¡¢±»ÊÕ²ØÊýµÈÖ¸±ê£¬½«Ã¿·ÖÖӾۺϺóµÄ½á¹ûÐÐ
Append µ½ HBase ²¢²»»á´øÀ´ÐÔÄܺʹ洢Á¿µÄÎÊÌ⣬µ«ÕâÖÖÇé¿öÏ Redis ÔÚ´æ´¢Á¿ÉÏ¿ÉÄÜ»á³öÏÖÆ¿¾±¡£
Ö¸±ê¼ÆËã´òָͨ±êϵͳºÍ¿ÉÊÓ»¯ÏµÍ³
Ö¸±ê¿Ú¾¶¹ÜÀíÒÀÀµÖ¸±êϵͳ£¬Ö¸±ê¿ÉÊÓ»¯ÒÀÀµ¿ÉÊÓ»¯ÏµÍ³£¬ÎÒÃÇͨ¹ýÏÂͼµÄÐèÇ󿪷¢¹ý³ÌÀ´½²½âÈçºÎ½«ÈýÕßÁªÏµÆðÀ´¡£

ÐèÇó·½ÕûÀíºÃÐèÇóÎĵµºóÏòÊý²Ö¹¤³ÌʦÌá³öÐèÇó²¢Ô¼»áÒéÆÀÉóÐèÇó£¬ÐèÇóÎĵµÖбØÐë°üº¬Ö¸±êµÄ¼ÆËã¿Ú¾¶ºÍÖ¸±ê¶ÔÓ¦µÄά¶È¡£
Êý²Ö¹¤³Ìʦ¸ù¾ÝÐèÇóÎĵµ¶ÔÐèÇó½øÐÐÆÀÉ󣬯ÀÉó²»Í¨¹ýÔò·µ»ØÐèÇó·½½øÒ»²½ÕûÀíÐèÇó²¢ÖØÐÂÌáÐè¡£
ÔÚÐèÇóÆÀÉóͨ¹ýºó£¬Êý²Ö¹¤³Ìʦ¿ªÊ¼ÅÅÆÚ¿ª·¢
Ê×ÏÈÔÚ¿ÉÊÓ»¯ÏµÍ³Öд´½¨Ò»¸öÊý¾ÝÔ´£¬Õâ¸öÊý¾ÝÔ´ÊǺóÆÚÅäÖÃʵʱ±¨±íµÄÊý¾ÝÔ´£¬´´½¨Êý¾ÝÔ´Ò²¼´ÔÚ HBase
Öд´½¨Ò»ÕÅ HBase ±í¡£
Õë¶Ô¸ÃÊý¾ÝÔ´´´½¨Ö¸±êÁУ¬´´½¨Ö¸±êÁÐÒ²¼´ÔÚ HBase ÁÐ×åÖд´½¨ÁУ¬´´½¨Ö¸±êÁеÄͬʱ»á½«¸ÃÖ¸±êÐÅϢ¼ÈëÖ¸±ê¹ÜÀíϵͳ¡£
Õë¶Ô¸ÃÊý¾ÝÔ´°ó¶¨Î¬±í£¬Õâ¸öά±íÊǺóÆÚÅäÖöàά±¨±íʱѡÓÃά¶ÈÖµÒªÓõģ¬Èç¹ûÒª°ó¶¨µÄά±íÒѾ´æÔÚ£¬ÔòÖ±½Ó°ó¶¨£¬·ñÔòÐèÒªµ¼Èëά±í¡£
Ò»¸öÍêÕûµÄÊý¾ÝÔ´´´½¨ºó£¬Êý²Ö¹¤³Ìʦ²ÅÄÜ¿ª·¢ÊµÊ±Ó¦ÓóÌÐò£¬Í¨¹ýÓ¦ÓóÌÐò½«¶àάָ±êʵʱдÈëÒÑ´´½¨µÄÊý¾ÝÔ´ÖС£
ÐèÇ󷽸ù¾ÝÒÑ´´½¨µÄÊý¾ÝÔ´Ö±½ÓÅäÖÃʵʱ±¨±í¡£
Ó¦Óòã
Ó¦ÓòãÖ÷ÒªÊÇʹÓûã×ܲãÊý¾ÝÒÔÂú×ãÒµÎñÐèÇó¡£Ó¦ÓòãÖ÷Òª·ÖÈý¿é£º1. ͨ¹ýÖ±½Ó¶Áȡָ±ê»ã×ÜÊý¾Ý×öʵʱ¿ÉÊÓ»¯£¬Âú×ã¹Ì»¯µÄʵʱ±¨±íÐèÇó£¬Õⲿ·ÖÓÉʵʱ´óÅÌ·þÎñ³Ðµ££»2.
ÍÆ¼öËã·¨µÈÒµÎñÖ±½ÓÏû·ÑÃ÷ϸ»ã×ÜÊý¾Ý×öÊµÊ±ÍÆ¼ö£»3. ͨ¹ý Tranquility ³ÌÐòʵʱÉãÈëÃ÷ϸ»ã×ÜÊý¾Ýµ½
Druid£¬Âú×ãʵʱ¶àά¼´Ï¯·ÖÎöÐèÇó¡£
ʵʱÊý²Ö 2.0 Öеļ¼ÊõʵÏÖ
Ïà±ÈʵʱÊý²Ö 1.0 ÒÔ Spark Streaming ×÷ΪÖ÷ҪʵÏÖ¼¼Êõ£¬ÔÚʵʱÊý²Ö 2.0 ÖУ¬ÎÒÃǽ«
Flink ×÷Ϊָ±ê»ã×ܲãµÄÖ÷Òª¼ÆËã¿ò¼Ü¡£Flink Ïà±È Spark Streaming ÓиüÃ÷ÏÔµÄÓÅÊÆ£¬Ö÷ÒªÌåÏÖÔÚ£ºµÍÑÓ³Ù¡¢Exactly-once
ÓïÒåÖ§³Ö¡¢Streaming SQL Ö§³Ö¡¢×´Ì¬¹ÜÀí¡¢·á¸»µÄʱ¼äÀàÐͺʹ°¿Ú¼ÆËã¡¢CEP Ö§³ÖµÈ¡£
ÎÒÃÇÔÚʵʱÊý²Ö 2.0 ÖÐÖ÷ÒªÒÔ Flink µÄ Streaming SQL ×÷ΪʵÏÖ·½°¸¡£Ê¹ÓÃ
Streaming SQL ÓÐÒÔÏÂÓŵ㣺Ò×ÓÚÆ½Ì¨»¯¡¢¿ª·¢Ð§Âʸߡ¢Î¬¶È³É±¾µÍµÈ¡£Ä¿Ç° Streaming
SQL ʹÓÃÆðÀ´Ò²ÓÐһЩȱÏÝ£º1. Óï·¨ºÍ Hive SQL ÓÐÒ»¶¨Çø±ð£¬³õʹÓÃʱÐèÒªÊÊÓ¦£»2.UDF
²»Èç Hive ·á¸»£¬Ð´ UDF µÄƵÂʸßÓÚ Hive¡£
ʵʱÊý²Ö 2.0 È¡µÃµÄ½øÕ¹
ÔÚÃ÷ϸ»ã×ܲãͨ¹ýÁ÷Á¿ÇзÖÂú×ãÁ˸÷¸öÒµÎñʵʱÏû·ÑÈÕÖ¾µÄÐèÇó¡£Ä¿Ç°Íê³ÉÁ÷Á¿ÇзֵÄÒµÎñ´ïµ½ 14+£¬ÓÉÓÚ¸÷ÒµÎñÏû·ÑµÄÊÇÇзֺóµÄÁ÷Á¿£¬Kafka
³öÁ÷Á¿Ï½µÁËÒ»¸öÊýÁ¿¼¶¡£
¸÷ÒµÎñºËÐÄʵʱ±¨±í¿ÉÒÔÎȶ¨²ú³ö¡£ÓÉÓÚºËÐı¨±íµÄ¼ÆËãÖ±½ÓÓÉÊý²Ö¸ºÔ𣬿ÉÊÓ»¯ÏµÍ³Ö±½Ó¶Áȡʵʱ½á¹û£¬±£Ö¤ÁËʵʱ±¨±íµÄÎȶ¨ÐÔ£¬Ä¿Ç°¶à¸öÒµÎñÓµÓÐʵʱ´óÅÌ£¬ÊµÊ±±¨±í´ï
40+¡£
ÌáÉýÁ˼´Ï¯²éѯµÄÎȶ¨ÐÔ¡£ºËÐı¨±íµÄÖ¸±ê¼ÆËã×ªÒÆµ½Êý²Ö£¬Druid Ö»¸ºÔð¼´Ï¯²éѯ£¬¶àά·ÖÎöÀàµÄÐèÇóµÃµ½ÁËÂú×ã¡£
³É±¾¼ÆËãÐèÇóµÃµ½Á˽â¾ö¡£ÓÉÓÚ¸÷ÒµÎñÓµÓÐÁ˶ÀÁ¢µÄÊý¾ÝÔ´ÇÒ¸÷ºËÐÄ´óÅÌÓɲ»Í¬µÄʵʱ³ÌÐò¸ºÔ𣬿ÉÒÔ·½±ãµÄͳ¼Æ¸÷ÒµÎñʹÓõĴ洢×ÊÔ´ºÍ¼ÆËã×ÊÔ´¡£
ʵʱÊý²ÖδÀ´Õ¹Íû
´ÓʵʱÊý²Ö 1.0 µ½ 2.0£¬²»¹ÜÊÇÊý¾Ý¼Ü¹¹»¹ÊǼ¼Êõ·½°¸£¬ÎÒÃÇÔÚÉî¶ÈºÍ¹ã¶ÈÉ϶¼ÓÐÁ˸ü¶àµÄ»ýÀÛ¡£Ëæ×Ź«Ë¾ÒµÎñµÄ¿ìËÙ·¢Õ¹ÒÔ¼°Ð¼¼ÊõµÄµ®Éú£¬ÊµÊ±Êý²ÖÒ²»á²»¶ÏµÄµü´úÓÅ»¯¡£¶ÌÆÚ¿ÉÔ¤¼ûµÄÎÒÃÇ»á´ÓÒÔÏ·½Ãæ½øÒ»²½ÌáÉýʵʱÊý²ÖµÄ·þÎñÄÜÁ¦¡£
Streaming SQL ƽ̨»¯¡£Ä¿Ç° Streaming SQL ÈÎÎñÊÇÒÔ´úÂ뿪·¢ maven
´ò°üµÄ·½Ê½Ìá½»ÈÎÎñ£¬¿ª·¢³É±¾¸ß£¬ºóÆÚËæ×Å Streaming SQL ƽ̨µÄÉÏÏߣ¬ÊµÊ±Êý²ÖµÄ¿ª·¢·½Ê½Ò²»áÓÉ
Jar °üת±äΪ SQL Îļþ¡£
ʵʱÊý¾ÝÔªÐÅÏ¢¹ÜÀíϵͳ»¯¡£¶ÔÊý²ÖÔªÐÅÏ¢µÄ¹ÜÀí¿ÉÒÔ´ó·ù¶È½µµÍʹÓÃÊý¾ÝµÄ³É±¾£¬ÀëÏßÊý²ÖµÄÔªÐÅÏ¢¹ÜÀíÒѾ»ù±¾ÍêÉÆ£¬ÊµÊ±Êý²ÖµÄÔªÐÅÏ¢¹ÜÀí²Å¸Õ¸Õ¿ªÊ¼¡£
ʵʱÊý²Ö½á¹ûÑéÊÕ×Ô¶¯»¯¡£¶Ôʵʱ½á¹ûµÄÑéÊÕÖ»ÄܽèÖúÓëÀëÏßÊý¾ÝÖ¸±ê¶Ô±ÈµÄ·½Ê½£¬ÒÔ Hive ºÍ Kafka
Êý¾ÝԴΪÀý£¬·Ö±ðÖ´ÐÐ Hive SQL ºÍ Flink SQL£¬Í³¼Æ½á¹û²¢¶Ô±ÈÊÇ·ñÒ»ÖÂʵÏÖʵʱ½á¹ûÑéÊÕµÄ×Ô¶¯»¯¡£ |