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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Hadoop¡¢SparkµÈ5ÖÖ´óÊý¾Ý¿ò¼Ü¶Ô±È£¬ÄãµÄÏîÄ¿¸ÃÓÃÄÄÖÖ£¿
 
 ×÷ÕߣºJustin Ellingwood À´Ô´£º´óÊý¾ÝÔÓ̸ ·¢²¼ÓÚ£º 2016-12-6
  2074  次浏览      31
 

¼ò½é

´óÊý¾ÝÊÇÊÕ¼¯¡¢ÕûÀí¡¢´¦Àí´óÈÝÁ¿Êý¾Ý¼¯£¬²¢´ÓÖлñµÃ¼û½âËùÐèµÄ·Ç´«Í³Õ½ÂԺͼ¼ÊõµÄ×ܳơ£ËäÈ»´¦ÀíÊý¾ÝËùÐèµÄ¼ÆËãÄÜÁ¦»ò´æ´¢ÈÝÁ¿ÔçÒѳ¬¹ýһ̨¼ÆËã»úµÄÉÏÏÞ£¬µ«ÕâÖÖ¼ÆËãÀàÐÍµÄÆÕ±éÐÔ¡¢¹æÄ££¬ÒÔ¼°¼ÛÖµÔÚ×î½ü¼¸Äê²Å¾­ÀúÁË´ó¹æÄ£À©Õ¹¡£

±¾ÎĽ«½éÉÜ´óÊý¾Ýϵͳһ¸ö×î»ù±¾µÄ×é¼þ£º´¦Àí¿ò¼Ü¡£´¦Àí¿ò¼Ü¸ºÔð¶ÔϵͳÖеÄÊý¾Ý½øÐмÆË㣬ÀýÈç´¦Àí´Ó·ÇÒ×ʧ´æ´¢ÖжÁÈ¡µÄÊý¾Ý£¬»ò´¦Àí¸Õ¸ÕÉãÈ뵽ϵͳÖеÄÊý¾Ý¡£Êý¾ÝµÄ¼ÆËãÔòÊÇÖ¸´Ó´óÁ¿µ¥Ò»Êý¾ÝµãÖÐÌáÈ¡ÐÅÏ¢ºÍ¼û½âµÄ¹ý³Ì¡£

ÏÂÎĽ«½éÉÜÕâЩ¿ò¼Ü£º

½öÅú´¦Àí¿ò¼Ü£º

Apache Hadoop

½öÁ÷´¦Àí¿ò¼Ü£º

Apache Storm

Apache Samza

»ìºÏ¿ò¼Ü£º

Apache Spark

Apache Flink

´óÊý¾Ý´¦Àí¿ò¼ÜÊÇʲô£¿

´¦Àí¿ò¼ÜºÍ´¦ÀíÒýÇæ¸ºÔð¶ÔÊý¾ÝϵͳÖеÄÊý¾Ý½øÐмÆËã¡£ËäÈ»¡°ÒýÇæ¡±ºÍ¡°¿ò¼Ü¡±Ö®¼äµÄÇø±ðûÓÐʲôȨÍþµÄ¶¨Ò壬µ«´ó²¿·Öʱºò¿ÉÒÔ½«Ç°Õß¶¨ÒåΪʵ¼Ê¸ºÔð´¦ÀíÊý¾Ý²Ù×÷µÄ×é¼þ£¬ºóÕßÔò¿É¶¨ÒåΪ³Ðµ£ÀàËÆ×÷ÓõÄһϵÁÐ×é¼þ¡£

ÀýÈçApache Hadoop¿ÉÒÔ¿´×÷Ò»ÖÖÒÔMapReduce×÷ΪĬÈÏ´¦ÀíÒýÇæµÄ´¦Àí¿ò¼Ü¡£ÒýÇæºÍ¿ò¼Üͨ³£¿ÉÒÔÏà»¥Ìæ»»»òͬʱʹÓá£ÀýÈçÁíÒ»¸ö¿ò¼ÜApache Spark¿ÉÒÔÄÉÈëHadoop²¢È¡´úMapReduce¡£×é¼þÖ®¼äµÄÕâÖÖ»¥²Ù×÷ÐÔÊÇ´óÊý¾ÝϵͳÁé»îÐÔÈç´ËÖ®¸ßµÄÔ­ÒòÖ®Ò»¡£

ËäÈ»¸ºÔð´¦ÀíÉúÃüÖÜÆÚÄÚÕâÒ»½×¶ÎÊý¾ÝµÄϵͳͨ³£¶¼ºÜ¸´ÔÓ£¬µ«´Ó¹ãÒå²ãÃæÀ´¿´ËüÃǵÄÄ¿±êÊǷdz£Ò»ÖµģºÍ¨¹ý¶ÔÊý¾ÝÖ´ÐвÙ×÷Ìá¸ßÀí½âÄÜÁ¦£¬½Òʾ³öÊý¾ÝÔ̺¬µÄģʽ£¬²¢Õë¶Ô¸´ÔÓ»¥¶¯»ñµÃ¼û½â¡£

ΪÁ˼ò»¯ÕâЩ×é¼þµÄÌÖÂÛ£¬ÎÒÃÇ»áͨ¹ý²»Í¬´¦Àí¿ò¼ÜµÄÉè¼ÆÒâͼ£¬°´ÕÕËù´¦ÀíµÄÊý¾Ý״̬¶ÔÆä½øÐзÖÀࡣһЩϵͳ¿ÉÒÔÓÃÅú´¦Àí·½Ê½´¦ÀíÊý¾Ý£¬Ò»Ð©ÏµÍ³¿ÉÒÔÓÃÁ÷·½Ê½´¦ÀíÁ¬Ðø²»¶ÏÁ÷ÈëϵͳµÄÊý¾Ý¡£´ËÍ⻹ÓÐһЩϵͳ¿ÉÒÔͬʱ´¦ÀíÕâÁ½ÀàÊý¾Ý¡£

ÔÚÉîÈë½éÉܲ»Í¬ÊµÏÖµÄÖ¸±êºÍ½áÂÛ֮ǰ£¬Ê×ÏÈÐèÒª¶Ô²»Í¬´¦ÀíÀàÐ͵ĸÅÄî½øÐÐÒ»¸ö¼òµ¥µÄ½éÉÜ¡£

Åú´¦Àíϵͳ

Åú´¦ÀíÔÚ´óÊý¾ÝÊÀ½çÓÐ×ÅÓÆ¾ÃµÄÀúÊ·¡£Åú´¦ÀíÖ÷Òª²Ù×÷´óÈÝÁ¿¾²Ì¬Êý¾Ý¼¯£¬²¢ÔÚ¼ÆËã¹ý³ÌÍê³Éºó·µ»Ø½á¹û¡£

Åú´¦ÀíģʽÖÐʹÓõÄÊý¾Ý¼¯Í¨³£·ûºÏÏÂÁÐÌØÕ÷...

1¡¢Óн磺Åú´¦ÀíÊý¾Ý¼¯´ú±íÊý¾ÝµÄÓÐÏÞ¼¯ºÏ

2¡¢³Ö¾Ã£ºÊý¾Ýͨ³£Ê¼ÖÕ´æ´¢ÔÚijÖÖÀàÐ͵ij־ô洢λÖÃÖÐ

3¡¢´óÁ¿£ºÅú´¦Àí²Ù×÷ͨ³£ÊÇ´¦Àí¼«Îªº£Á¿Êý¾Ý¼¯µÄΨһ·½·¨

Åú´¦Àí·Ç³£ÊʺÏÐèÒª·ÃÎÊÈ«Ì׼Ǽ²ÅÄÜÍê³ÉµÄ¼ÆË㹤×÷¡£ÀýÈçÔÚ¼ÆËã×ÜÊýºÍƽ¾ùÊýʱ£¬±ØÐ뽫Êý¾Ý¼¯×÷Ϊһ¸öÕûÌå¼ÓÒÔ´¦Àí£¬¶ø²»Äܽ«ÆäÊÓ×÷¶àÌõ¼Ç¼µÄ¼¯ºÏ¡£ÕâЩ²Ù×÷ÒªÇóÔÚ¼ÆËã½øÐйý³ÌÖÐÊý¾Ýά³Ö×Ô¼ºµÄ״̬¡£

ÐèÒª´¦Àí´óÁ¿Êý¾ÝµÄÈÎÎñͨ³£×îÊʺÏÓÃÅú´¦Àí²Ù×÷½øÐд¦Àí¡£ÎÞÂÛÖ±½Ó´Ó³Ö¾Ã´æ´¢É豸´¦ÀíÊý¾Ý¼¯£¬»òÊ×ÏȽ«Êý¾Ý¼¯ÔØÈëÄڴ棬Åú´¦ÀíϵͳÔÚÉè¼Æ¹ý³ÌÖоͳä·Ö¿¼ÂÇÁËÊý¾ÝµÄÁ¿£¬¿ÉÌṩ³ä×ãµÄ´¦Àí×ÊÔ´¡£ÓÉÓÚÅú´¦ÀíÔÚÓ¦¶Ô´óÁ¿³Ö¾ÃÊý¾Ý·½ÃæµÄ±íÏÖ¼«Îª³öÉ«£¬Òò´Ë¾­³£±»ÓÃÓÚ¶ÔÀúÊ·Êý¾Ý½øÐзÖÎö¡£

´óÁ¿Êý¾ÝµÄ´¦ÀíÐèÒª¸¶³ö´óÁ¿Ê±¼ä£¬Òò´ËÅú´¦Àí²»Êʺ϶Դ¦Àíʱ¼äÒªÇó½Ï¸ßµÄ³¡ºÏ¡£

Apache Hadoop

Apache HadoopÊÇÒ»ÖÖרÓÃÓÚÅú´¦ÀíµÄ´¦Àí¿ò¼Ü¡£HadoopÊÇÊ׸öÔÚ¿ªÔ´ÉçÇø»ñµÃ¼«´ó¹Ø×¢µÄ´óÊý¾Ý¿ò¼Ü¡£»ùÓڹȸèÓйغ£Á¿Êý¾Ý´¦ÀíËù·¢±íµÄ¶àƪÂÛÎÄÓë¾­ÑéµÄHadoopÖØÐÂʵÏÖÁËÏà¹ØËã·¨ºÍ×é¼þ¶ÑÕ»£¬Èôó¹æÄ£Åú´¦Àí¼¼Êõ±äµÃ¸üÒ×Óá£

аæHadoop°üº¬¶à¸ö×é¼þ£¬¼´¶à¸ö²ã£¬Í¨¹ýÅäºÏʹÓÿɴ¦ÀíÅúÊý¾Ý£º

HDFS£ºHDFSÊÇÒ»ÖÖ·Ö²¼Ê½Îļþϵͳ²ã£¬¿É¶Ô¼¯Èº½Úµã¼äµÄ´æ´¢ºÍ¸´ÖƽøÐÐЭµ÷¡£HDFSÈ·±£ÁËÎÞ·¨±ÜÃâµÄ½Úµã¹ÊÕÏ·¢ÉúºóÊý¾ÝÒÀÈ»¿ÉÓ㬿ɽ«ÆäÓÃ×÷Êý¾ÝÀ´Ô´£¬¿ÉÓÃÓÚ´æ´¢Öмä̬µÄ´¦Àí½á¹û£¬²¢¿É´æ´¢¼ÆËãµÄ×îÖÕ½á¹û¡£

YARN£ºYARNÊÇYet Another Resource Negotiator£¨ÁíÒ»¸ö×ÊÔ´¹ÜÀíÆ÷£©µÄËõд£¬¿É³äµ±Hadoop¶ÑÕ»µÄ¼¯ÈºÐ­µ÷×é¼þ¡£¸Ã×é¼þ¸ºÔðЭµ÷²¢¹ÜÀíµ×²ã×ÊÔ´ºÍµ÷¶È×÷ÒµµÄÔËÐС£Í¨¹ý³äµ±¼¯Èº×ÊÔ´µÄ½Ó¿Ú£¬YARNʹµÃÓû§ÄÜÔÚHadoop¼¯ÈºÖÐʹÓñÈÒÔÍùµÄµü´ú·½Ê½ÔËÐиü¶àÀàÐ͵Ť×÷¸ºÔØ¡£

MapReduce£ºMapReduceÊÇHadoopµÄÔ­ÉúÅú´¦ÀíÒýÇæ¡£

Åú´¦Àíģʽ

HadoopµÄ´¦Àí¹¦ÄÜÀ´×ÔMapReduceÒýÇæ¡£MapReduceµÄ´¦Àí¼¼Êõ·ûºÏʹÓüüÖµ¶ÔµÄmap¡¢shuffle¡¢reduceËã·¨ÒªÇó¡£»ù±¾´¦Àí¹ý³Ì°üÀ¨£º

´ÓHDFSÎļþϵͳ¶ÁÈ¡Êý¾Ý¼¯

½«Êý¾Ý¼¯²ð·Ö³ÉС¿é²¢·ÖÅ䏸ËùÓпÉÓýڵã

Õë¶Ôÿ¸ö½ÚµãÉϵÄÊý¾Ý×Ó¼¯½øÐмÆË㣨¼ÆËãµÄÖмä̬½á¹û»áÖØÐÂдÈëHDFS£©

ÖØÐ·ÖÅäÖмä̬½á¹û²¢°´ÕÕ¼ü½øÐзÖ×é

ͨ¹ý¶Ôÿ¸ö½Úµã¼ÆËãµÄ½á¹û½øÐлã×ܺÍ×éºÏ¶Ôÿ¸ö¼üµÄÖµ½øÐС°Reducing¡±

½«¼ÆËã¶øÀ´µÄ×îÖÕ½á¹ûÖØÐÂдÈë HDFS

ÓÅÊÆºÍ¾ÖÏÞ

ÓÉÓÚÕâÖÖ·½·¨ÑÏÖØÒÀÀµ³Ö¾Ã´æ´¢£¬Ã¿¸öÈÎÎñÐèÒª¶à´ÎÖ´ÐжÁÈ¡ºÍдÈë²Ù×÷£¬Òò´ËËÙ¶ÈÏà¶Ô½ÏÂý¡£µ«ÁíÒ»·½ÃæÓÉÓÚ´ÅÅ̿ռäͨ³£ÊÇ·þÎñÆ÷ÉÏ×î·á¸»µÄ×ÊÔ´£¬ÕâÒâζ×ÅMapReduce¿ÉÒÔ´¦Àí·Ç³£º£Á¿µÄÊý¾Ý¼¯¡£Í¬Ê±Ò²Òâζ×ÅÏà±ÈÆäËûÀàËÆ¼¼Êõ£¬HadoopµÄMapReduceͨ³£¿ÉÒÔÔÚÁ®¼ÛÓ²¼þÉÏÔËÐУ¬ÒòΪ¸Ã¼¼Êõ²¢²»ÐèÒª½«Ò»Çж¼´æ´¢ÔÚÄÚ´æÖС£MapReduce¾ß±¸¼«¸ßµÄËõ·ÅDZÁ¦£¬Éú²ú»·¾³ÖÐÔø¾­³öÏÖ¹ý°üº¬ÊýÍò¸ö½ÚµãµÄÓ¦Óá£

MapReduceµÄѧϰÇúÏß½ÏΪ¶¸ÇÍ£¬ËäÈ»HadoopÉú̬ϵͳµÄÆäËûÖܱ߼¼Êõ¿ÉÒÔ´ó·ù½µµÍÕâÒ»ÎÊÌâµÄÓ°Ï죬µ«Í¨¹ýHadoop¼¯Èº¿ìËÙʵÏÖijЩӦÓÃʱÒÀÈ»ÐèҪעÒâÕâ¸öÎÊÌâ¡£

Î§ÈÆHadoopÒѾ­ÐγÉÁËÁÉÀ«µÄÉú̬ϵͳ£¬Hadoop¼¯Èº±¾ÉíÒ²¾­³£±»ÓÃ×÷ÆäËûÈí¼þµÄ×é³É²¿¼þ¡£ºÜ¶àÆäËû´¦Àí¿ò¼ÜºÍÒýÇæÍ¨¹ýÓëHadoop¼¯³ÉÒ²¿ÉÒÔʹÓÃHDFSºÍYARN×ÊÔ´¹ÜÀíÆ÷¡£

×ܽá

Apache Hadoop¼°ÆäMapReduce´¦ÀíÒýÇæÌṩÁËÒ»Ì׾þ­¿¼ÑéµÄÅú´¦ÀíÄ£ÐÍ£¬×îÊʺϴ¦Àí¶Ôʱ¼äÒªÇ󲻸ߵķdz£´ó¹æÄ£Êý¾Ý¼¯¡£Í¨¹ý·Ç³£µÍ³É±¾µÄ×é¼þ¼´¿É´î½¨ÍêÕû¹¦ÄܵÄHadoop¼¯Èº£¬Ê¹µÃÕâÒ»Á®¼ÛÇÒ¸ßЧµÄ´¦Àí¼¼Êõ¿ÉÒÔÁé»îÓ¦ÓÃÔںܶసÀýÖС£ÓëÆäËû¿ò¼ÜºÍÒýÇæµÄ¼æÈÝÓ뼯³ÉÄÜÁ¦Ê¹µÃHadoop¿ÉÒÔ³ÉΪʹÓò»Í¬¼¼ÊõµÄ¶àÖÖ¹¤×÷¸ºÔØ´¦ÀíÆ½Ì¨µÄµ×²ã»ù´¡¡£

Á÷´¦Àíϵͳ

Á÷´¦Àíϵͳ»á¶ÔËæÊ±½øÈëϵͳµÄÊý¾Ý½øÐмÆËã¡£Ïà±ÈÅú´¦Àíģʽ£¬ÕâÊÇÒ»ÖÖ½ØÈ»²»Í¬µÄ´¦Àí·½Ê½¡£Á÷´¦Àí·½Ê½ÎÞÐèÕë¶ÔÕû¸öÊý¾Ý¼¯Ö´ÐвÙ×÷£¬¶øÊǶÔͨ¹ýϵͳ´«ÊäµÄÿ¸öÊý¾ÝÏîÖ´ÐвÙ×÷¡£

Á÷´¦ÀíÖеÄÊý¾Ý¼¯ÊÇ¡°Îޱ߽硱µÄ£¬Õâ¾Í²úÉúÁ˼¸¸öÖØÒªµÄÓ°Ï죺

ÍêÕûÊý¾Ý¼¯Ö»ÄÜ´ú±í½ØÖÁĿǰÒѾ­½øÈ뵽ϵͳÖеÄÊý¾Ý×ÜÁ¿¡£

¹¤×÷Êý¾Ý¼¯Ò²Ðí¸üÏà¹Ø£¬ÔÚÌØ¶¨Ê±¼äÖ»ÄÜ´ú±íij¸öµ¥Ò»Êý¾ÝÏî¡£

´¦Àí¹¤×÷ÊÇ»ùÓÚʼþµÄ£¬³ý·ÇÃ÷È·Í£Ö¹·ñÔòûÓС°¾¡Í·¡±¡£´¦Àí½á¹ûÁ¢¿Ì¿ÉÓ㬲¢»áËæ×ÅÐÂÊý¾ÝµÄµÖ´ï¼ÌÐø¸üС£

Á÷´¦Àíϵͳ¿ÉÒÔ´¦Àí¼¸ºõÎÞÏÞÁ¿µÄÊý¾Ý£¬µ«Í¬Ò»Ê±¼äÖ»ÄÜ´¦ÀíÒ»Ìõ£¨ÕæÕýµÄÁ÷´¦Àí£©»òºÜÉÙÁ¿£¨Î¢Åú´¦Àí£¬Micro-batch Processing£©Êý¾Ý£¬²»Í¬¼Ç¼¼äֻά³Ö×îÉÙÁ¿µÄ״̬¡£ËäÈ»´ó²¿·ÖϵͳÌṩÁËÓÃÓÚά³ÖijЩ״̬µÄ·½·¨£¬µ«Á÷´¦ÀíÖ÷ÒªÕë¶Ô¸±×÷ÓøüÉÙ£¬¸ü¼Ó¹¦ÄÜÐԵĴ¦Àí£¨Functional processing£©½øÐÐÓÅ»¯¡£

¹¦ÄÜÐÔ²Ù×÷Ö÷Òª²àÖØÓÚ״̬»ò¸±×÷ÓÃÓÐÏÞµÄÀëÉ¢²½Öè¡£Õë¶Ôͬһ¸öÊý¾ÝÖ´ÐÐͬһ¸ö²Ù×÷»á»òÂÔÆäËûÒòËØ²úÉúÏàͬµÄ½á¹û£¬´ËÀà´¦Àí·Ç³£ÊʺÏÁ÷´¦Àí£¬ÒòΪ²»Í¬ÏîµÄ״̬ͨ³£ÊÇijЩÀ§ÄÑ¡¢ÏÞÖÆ£¬ÒÔ¼°Ä³Ð©Çé¿öϲ»ÐèÒªµÄ½á¹ûµÄ½áºÏÌå¡£Òò´ËËäȻijЩÀàÐ͵Ä״̬¹ÜÀíͨ³£ÊÇ¿ÉÐе쬵«ÕâЩ¿ò¼Üͨ³£ÔÚ²»¾ß±¸×´Ì¬¹ÜÀí»úÖÆÊ±¸ü¼òµ¥Ò²¸ü¸ßЧ¡£

´ËÀà´¦Àí·Ç³£ÊʺÏijЩÀàÐ͵Ť×÷¸ºÔØ¡£Óнüʵʱ´¦ÀíÐèÇóµÄÈÎÎñºÜÊʺÏʹÓÃÁ÷´¦Àíģʽ¡£·ÖÎö¡¢·þÎñÆ÷»òÓ¦ÓóÌÐò´íÎóÈÕÖ¾£¬ÒÔ¼°ÆäËû»ùÓÚʱ¼äµÄºâÁ¿Ö¸±êÊÇ×îÊʺϵÄÀàÐÍ£¬ÒòΪ¶ÔÕâЩÁìÓòµÄÊý¾Ý±ä»¯×ö³öÏìÓ¦¶ÔÓÚÒµÎñÖ°ÄÜÀ´ËµÊǼ«Îª¹Ø¼üµÄ¡£Á÷´¦ÀíºÜÊʺÏÓÃÀ´´¦Àí±ØÐë¶Ô±ä¶¯»ò·åÖµ×ö³öÏìÓ¦£¬²¢ÇÒ¹Ø×¢Ò»¶Îʱ¼äÄڱ仯Ç÷ÊÆµÄÊý¾Ý¡£

Apache Storm

Apache StormÊÇÒ»ÖÖ²àÖØÓÚ¼«µÍÑÓ³ÙµÄÁ÷´¦Àí¿ò¼Ü£¬Ò²ÐíÊÇÒªÇó½üʵʱ´¦ÀíµÄ¹¤×÷¸ºÔصÄ×î¼ÑÑ¡Ôñ¡£¸Ã¼¼Êõ¿É´¦Àí·Ç³£´óÁ¿µÄÊý¾Ý£¬Í¨¹ý±ÈÆäËû½â¾ö·½°¸¸üµÍµÄÑÓ³ÙÌṩ½á¹û¡£

Á÷´¦Àíģʽ

StormµÄÁ÷´¦Àí¿É¶Ô¿ò¼ÜÖÐÃûΪTopology£¨ÍØÆË£©µÄDAG£¨Directed Acyclic Graph£¬ÓÐÏòÎÞ»·Í¼£©½øÐбàÅÅ¡£ÕâÐ©ÍØÆËÃèÊöÁ˵±Êý¾ÝƬ¶Î½øÈëϵͳºó£¬ÐèÒª¶Ôÿ¸ö´«ÈëµÄƬ¶ÎÖ´ÐеIJ»Í¬×ª»»»ò²½Öè¡£

ÍØÆË°üº¬£º

1¡¢Stream£ºÆÕͨµÄÊý¾ÝÁ÷£¬ÕâÊÇÒ»ÖÖ»á³ÖÐøµÖ´ïϵͳµÄÎޱ߽çÊý¾Ý¡£

2¡¢Spout£ºÎ»ÓÚÍØÆË±ßÔµµÄÊý¾ÝÁ÷À´Ô´£¬ÀýÈç¿ÉÒÔÊÇAPI»ò²éѯµÈ£¬´ÓÕâÀï¿ÉÒÔ²úÉú´ý´¦ÀíµÄÊý¾Ý¡£

3¡¢Bolt£ºBolt´ú±íÐèÒªÏûºÄÁ÷Êý¾Ý£¬¶ÔÆäÓ¦ÓòÙ×÷£¬²¢½«½á¹ûÒÔÁ÷µÄÐÎʽ½øÐÐÊä³öµÄ´¦Àí²½Öè¡£BoltÐèÒªÓëÿ¸öSpout½¨Á¢Á¬½Ó£¬ËæºóÏ໥Á¬½ÓÒÔ×é³ÉËùÓбØÒªµÄ´¦Àí¡£ÔÚÍØÆËµÄβ²¿£¬¿ÉÒÔʹÓÃ×îÖÕµÄBoltÊä³ö×÷ΪÏ໥Á¬½ÓµÄÆäËûϵͳµÄÊäÈë¡£

Storm±³ºóµÄÏë·¨ÊÇʹÓÃÉÏÊö×é¼þ¶¨Òå´óÁ¿Ð¡Ð͵ÄÀëÉ¢²Ù×÷£¬Ëæºó½«¶à¸ö×é¼þ×é³ÉËùÐèÍØÆË¡£Ä¬ÈÏÇé¿öÏÂStormÌṩÁË¡°ÖÁÉÙÒ»´Î¡±µÄ´¦Àí±£Ö¤£¬ÕâÒâζ×Å¿ÉÒÔÈ·±£Ã¿ÌõÏûÏ¢ÖÁÉÙ¿ÉÒÔ±»´¦ÀíÒ»´Î£¬µ«Ä³Ð©Çé¿öÏÂÈç¹ûÓöµ½Ê§°Ü¿ÉÄܻᴦÀí¶à´Î¡£StormÎÞ·¨È·±£¿ÉÒÔ°´ÕÕÌØ¶¨Ë³Ðò´¦ÀíÏûÏ¢¡£

ΪÁËʵÏÖÑϸñµÄÒ»´Î´¦Àí£¬¼´ÓÐ״̬´¦Àí£¬¿ÉÒÔʹÓÃÒ»ÖÖÃûΪTridentµÄ³éÏó¡£ÑϸñÀ´Ëµ²»Ê¹ÓÃTridentµÄStormͨ³£¿É³ÆÖ®ÎªCore Storm¡£Trident»á¶ÔStormµÄ´¦ÀíÄÜÁ¦²úÉú¼«´óÓ°Ï죬»áÔö¼ÓÑÓ³Ù£¬Îª´¦ÀíÌṩ״̬£¬Ê¹ÓÃ΢Åúģʽ´úÌæÖðÏî´¦ÀíµÄ´¿´âÁ÷´¦Àíģʽ¡£

Ϊ±ÜÃâÕâЩÎÊÌ⣬ͨ³£½¨ÒéStormÓû§¾¡¿ÉÄÜʹÓÃCore Storm¡£È»¶øÒ²Òª×¢Ò⣬Trident¶ÔÄÚÈÝÑϸñµÄÒ»´Î´¦Àí±£Ö¤ÔÚijЩÇé¿öÏÂÒ²±È½ÏÓÐÓã¬ÀýÈçϵͳÎÞ·¨ÖÇÄܵش¦ÀíÖØ¸´ÏûϢʱ¡£Èç¹ûÐèÒªÔÚÏîÖ®¼äά³Ö״̬£¬ÀýÈçÏëÒª¼ÆËãÒ»¸öСʱÄÚÓжàÉÙÓû§µã»÷ÁËij¸öÁ´½Ó£¬´ËʱTrident½«ÊÇÄãΨһµÄÑ¡Ôñ¡£¾¡¹Ü²»Äܳä·Ö·¢»Ó¿ò¼ÜÓëÉú¾ãÀ´µÄÓÅÊÆ£¬µ«TridentÌá¸ßÁËStormµÄÁé»îÐÔ¡£

TridentÍØÆË°üº¬£º

1¡¢Á÷Åú£¨Stream batch£©£ºÕâÊÇÖ¸Á÷Êý¾ÝµÄ΢Åú£¬¿Éͨ¹ý·Ö¿éÌṩÅú´¦ÀíÓïÒå¡£

2¡¢²Ù×÷£¨Operation£©£ºÊÇÖ¸¿ÉÒÔ¶ÔÊý¾ÝÖ´ÐеÄÅú´¦Àí¹ý³Ì¡£

ÓÅÊÆºÍ¾ÖÏÞ

ĿǰÀ´ËµStorm¿ÉÄÜÊǽüʵʱ´¦ÀíÁìÓòµÄ×î¼Ñ½â¾ö·½°¸¡£¸Ã¼¼Êõ¿ÉÒÔÓü«µÍÑÓ³Ù´¦ÀíÊý¾Ý£¬¿ÉÓÃÓÚÏ£Íû»ñµÃ×îµÍÑӳٵŤ×÷¸ºÔØ¡£Èç¹û´¦ÀíËÙ¶ÈÖ±½ÓÓ°ÏìÓû§ÌåÑ飬ÀýÈçÐèÒª½«´¦Àí½á¹ûÖ±½ÓÌṩ¸ø·Ã¿Í´ò¿ªµÄÍøÕ¾Ò³Ãæ£¬´ËʱStorm½«»áÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ¡£

StormÓëTridentÅäºÏʹµÃÓû§¿ÉÒÔÓÃ΢Åú´úÌæ´¿´âµÄÁ÷´¦Àí¡£ËäÈ»½è´ËÓû§¿ÉÒÔ»ñµÃ¸ü´óÁé»îÐÔ´òÔì¸ü·ûºÏÒªÇóµÄ¹¤¾ß£¬µ«Í¬Ê±ÕâÖÖ×ö·¨»áÏ÷Èõ¸Ã¼¼ÊõÏà±ÈÆäËû½â¾ö·½°¸×î´óµÄÓÅÊÆ¡£»°ËäÈç´Ë£¬µ«¶àÒ»ÖÖÁ÷´¦Àí·½Ê½×ÜÊǺõġ£

Core StormÎÞ·¨±£Ö¤ÏûÏ¢µÄ´¦Àí˳Ðò¡£Core StormΪÏûÏ¢ÌṩÁË¡°ÖÁÉÙÒ»´Î¡±µÄ´¦Àí±£Ö¤£¬ÕâÒâζ×Å¿ÉÒÔ±£Ö¤Ã¿ÌõÏûÏ¢¶¼Äܱ»´¦Àí£¬µ«Ò²¿ÉÄÜ·¢ÉúÖØ¸´¡£TridentÌṩÁËÑϸñµÄÒ»´Î´¦Àí±£Ö¤£¬¿ÉÒÔÔÚ²»Í¬ÅúÖ®¼äÌṩ˳Ðò´¦Àí£¬µ«ÎÞ·¨ÔÚÒ»¸öÅúÄÚ²¿ÊµÏÖ˳Ðò´¦Àí¡£

ÔÚ»¥²Ù×÷ÐÔ·½Ã棬Storm¿ÉÓëHadoopµÄYARN×ÊÔ´¹ÜÀíÆ÷½øÐм¯³É£¬Òò´Ë¿ÉÒԺܷ½±ãµØÈÚÈëÏÖÓÐHadoop²¿Êð¡£³ýÁËÖ§³Ö´ó²¿·Ö´¦Àí¿ò¼Ü£¬Storm»¹¿ÉÖ§³Ö¶àÖÖÓïÑÔ£¬ÎªÓû§µÄÍØÆË¶¨ÒåÌṩÁ˸ü¶àÑ¡Ôñ¡£

×ܽá

¶ÔÓÚÑÓ³ÙÐèÇóºÜ¸ßµÄ´¿´âµÄÁ÷´¦Àí¹¤×÷¸ºÔØ£¬Storm¿ÉÄÜÊÇ×îÊʺϵļ¼Êõ¡£¸Ã¼¼Êõ¿ÉÒÔ±£Ö¤Ã¿ÌõÏûÏ¢¶¼±»´¦Àí£¬¿ÉÅäºÏ¶àÖÖ±à³ÌÓïÑÔʹÓá£ÓÉÓÚStormÎÞ·¨½øÐÐÅú´¦Àí£¬Èç¹ûÐèÒªÕâЩÄÜÁ¦¿ÉÄÜ»¹ÐèҪʹÓÃÆäËûÈí¼þ¡£Èç¹û¶ÔÑϸñµÄÒ»´Î´¦Àí±£Ö¤ÓбȽϸߵÄÒªÇ󣬴Ëʱ¿É¿¼ÂÇʹÓÃTrident¡£²»¹ýÕâÖÖÇé¿öÏÂÆäËûÁ÷´¦Àí¿ò¼ÜÒ²Ðí¸üÊʺϡ£

Apache Samza

Apache SamzaÊÇÒ»ÖÖÓëApache KafkaÏûϢϵͳ½ôÃܰ󶨵ÄÁ÷´¦Àí¿ò¼Ü¡£ËäÈ»Kafka¿ÉÓÃÓںܶàÁ÷´¦Àíϵͳ£¬µ«°´ÕÕÉè¼Æ£¬Samza¿ÉÒÔ¸üºÃµØ·¢»ÓKafka¶ÀÌØµÄ¼Ü¹¹ÓÅÊÆºÍ±£ÕÏ¡£¸Ã¼¼Êõ¿Éͨ¹ýKafkaÌṩÈÝ´í¡¢»º³å£¬ÒÔ¼°×´Ì¬´æ´¢¡£

Samza¿ÉʹÓÃYARN×÷Ϊ×ÊÔ´¹ÜÀíÆ÷¡£ÕâÒâζ×ÅĬÈÏÇé¿öÏÂÐèÒª¾ß±¸Hadoop¼¯Èº£¨ÖÁÉپ߱¸HDFSºÍYARN£©£¬µ«Í¬Ê±Ò²Òâζ×ÅSamza¿ÉÒÔÖ±½ÓʹÓÃYARN·á¸»µÄÄÚ½¨¹¦ÄÜ¡£

Á÷´¦Àíģʽ

1¡¢SamzaÒÀÀµKafkaµÄÓïÒ嶨ÒåÁ÷µÄ´¦Àí·½Ê½¡£KafkaÔÚ´¦ÀíÊý¾ÝÊ±Éæ¼°ÏÂÁиÅÄ

2¡¢Topic£¨»°Ì⣩£º½øÈëKafkaϵͳµÄÿ¸öÊý¾ÝÁ÷¿É³ÆÖ®ÎªÒ»¸ö»°Ìâ¡£»°Ìâ»ù±¾ÉÏÊÇÒ»Öֿɹ©ÏûºÄ·½¶©Ôĵģ¬ÓÉÏà¹ØÐÅÏ¢×é³ÉµÄÊý¾ÝÁ÷¡£

3¡¢Partition£¨·ÖÇø£©£ºÎªÁ˽«Ò»¸ö»°Ìâ·ÖÉ¢ÖÁ¶à¸ö½Úµã£¬Kafka»á½«´«ÈëµÄÏûÏ¢»®·ÖΪ¶à¸ö·ÖÇø¡£·ÖÇøµÄ»®·Ö½«»ùÓÚ¼ü£¨Key£©½øÐУ¬ÕâÑù¿ÉÒÔ±£Ö¤°üº¬Í¬Ò»¸ö¼üµÄÿÌõÏûÏ¢¿ÉÒÔ»®·ÖÖÁͬһ¸ö·ÖÇø¡£·ÖÇøµÄ˳Ðò¿É»ñµÃ±£Ö¤¡£

4¡¢Broker£¨´úÀí£©£º×é³ÉKafka¼¯ÈºµÄÿ¸ö½ÚµãÒ²½Ð×ö´úÀí¡£

5¡¢Producer£¨Éú³É·½£©£ºÈκÎÏòKafka»°ÌâдÈëÊý¾ÝµÄ×é¼þ¿ÉÒÔ½Ð×öÉú³É·½¡£Éú³É·½¿ÉÌṩ½«»°Ìâ»®·ÖΪ·ÖÇøËùÐèµÄ¼ü¡£

6¡¢Consumer£¨ÏûºÄ·½£©£ºÈκδÓKafka¶ÁÈ¡»°ÌâµÄ×é¼þ¿É½Ð×öÏûºÄ·½¡£ÏûºÄ·½ÐèÒª¸ºÔðά³ÖÓйØ×Ô¼º·ÖÖ§µÄÐÅÏ¢£¬ÕâÑù¼´¿ÉÔÚʧ°ÜºóÖªµÀÄÄЩ¼Ç¼ÒѾ­±»´¦Àí¹ýÁË¡£

ÓÉÓÚKafkaÏ൱ÓÚÓÀºã²»±äµÄÈÕÖ¾£¬SamzaÒ²ÐèÒª´¦ÀíÓÀºã²»±äµÄÊý¾ÝÁ÷¡£ÕâÒâζ×ÅÈκÎת»»´´½¨µÄÐÂÊý¾ÝÁ÷¶¼¿É±»ÆäËû×é¼þËùʹÓ㬶ø²»»á¶Ô×î³õµÄÊý¾ÝÁ÷²úÉúÓ°Ïì¡£

ÓÅÊÆºÍ¾ÖÏÞ

Õ§¿´Ö®Ï£¬Samza¶ÔKafkaÀà²éѯϵͳµÄÒÀÀµËƺõÊÇÒ»ÖÖÏÞÖÆ£¬È»¶øÕâÒ²¿ÉÒÔΪϵͳÌṩһЩ¶ÀÌØµÄ±£Ö¤ºÍ¹¦ÄÜ£¬ÕâЩÄÚÈÝÒ²ÊÇÆäËûÁ÷´¦Àíϵͳ²»¾ß±¸µÄ¡£

ÀýÈçKafkaÒѾ­ÌṩÁË¿ÉÒÔͨ¹ýµÍÑÓ³Ù·½Ê½·ÃÎʵÄÊý¾Ý´æ´¢¸±±¾£¬´ËÍ⻹¿ÉÒÔΪÿ¸öÊý¾Ý·ÖÇøÌṩ·Ç³£Ò×ÓÃÇҵͳɱ¾µÄ¶à¶©ÔÄÕßÄ£ÐÍ¡£ËùÓÐÊä³öÄÚÈÝ£¬°üÀ¨Öмä̬µÄ½á¹û¶¼¿ÉдÈëµ½Kafka£¬²¢¿É±»ÏÂÓβ½Öè¶ÀÁ¢Ê¹Óá£

ÕâÖÖ¶ÔKafkaµÄ½ôÃÜÒÀÀµÔÚºÜ¶à·½ÃæÀàËÆÓÚMapReduceÒýÇæ¶ÔHDFSµÄÒÀÀµ¡£ËäÈ»ÔÚÅú´¦ÀíµÄÿ¸ö¼ÆËãÖ®¼ä¶ÔHDFSµÄÒÀÀµµ¼ÖÂÁËһЩÑÏÖØµÄÐÔÄÜÎÊÌ⣬µ«Ò²±ÜÃâÁËÁ÷´¦ÀíÓöµ½µÄºÜ¶àÆäËûÎÊÌâ¡£

SamzaÓëKafkaÖ®¼ä½ôÃܵĹØÏµÊ¹µÃ´¦Àí²½Öè±¾Éí¿ÉÒԷdz£ËÉÉ¢µØñîºÏÔÚÒ»Æð¡£ÎÞÐèÊÂÏÈЭµ÷£¬¼´¿ÉÔÚÊä³öµÄÈκβ½ÖèÖÐÔö¼ÓÈÎÒâÊýÁ¿µÄ¶©ÔÄÕߣ¬¶ÔÓÚÓжà¸öÍŶÓÐèÒª·ÃÎÊÀàËÆÊý¾ÝµÄ×éÖ¯£¬ÕâÒ»ÌØÐԷdz£ÓÐÓ᣶à¸öÍŶӿÉÒÔÈ«²¿¶©ÔĽøÈëϵͳµÄÊý¾Ý»°Ì⣬»òÈÎÒâ¶©ÔÄÆäËûÍŶӶÔÊý¾Ý½øÐйýijЩ´¦Àíºó´´½¨µÄ»°Ìâ¡£ÕâÒ»Çв¢²»»á¶ÔÊý¾Ý¿âµÈ¸ºÔØÃܼ¯ÐÍ»ù´¡¼Ü¹¹Ôì³É¶îÍâµÄѹÁ¦¡£

Ö±½ÓдÈëKafka»¹¿É±ÜÃâ»ØÑ¹£¨Backpressure£©ÎÊÌâ¡£»ØÑ¹ÊÇÖ¸µ±¸ºÔØ·åÖµµ¼ÖÂÊý¾ÝÁ÷ÈëËٶȳ¬¹ý×é¼þʵʱ´¦ÀíÄÜÁ¦µÄÇé¿ö£¬ÕâÖÖÇé¿ö¿ÉÄܵ¼Ö´¦Àí¹¤×÷Í£¶Ù²¢¿ÉÄܶªÊ§Êý¾Ý¡£°´ÕÕÉè¼Æ£¬Kafka¿ÉÒÔ½«Êý¾Ý±£´æºÜ³¤Ê±¼ä£¬ÕâÒâζ×Å×é¼þ¿ÉÒÔÔÚ·½±ãµÄʱºò¼ÌÐø½øÐд¦Àí£¬²¢¿ÉÖ±½ÓÖØÆô¶¯¶øÎÞÐèµ£ÐÄÔì³ÉÈκκó¹û¡£

Samza¿ÉÒÔʹÓÃÒÔ±¾µØ¼üÖµ´æ´¢·½Ê½ÊµÏÖµÄÈÝ´í¼ì²éµãϵͳ´æ´¢Êý¾Ý¡£ÕâÑùSamza¼´¿É»ñµÃ¡°ÖÁÉÙÒ»´Î¡±µÄ½»¸¶±£ÕÏ£¬µ«Ãæ¶ÔÓÉÓÚÊý¾Ý¿ÉÄܶà´Î½»¸¶Ôì³ÉµÄʧ°Ü£¬¸Ã¼¼ÊõÎÞ·¨¶Ô»ã×ܺó״̬£¨ÀýÈç¼ÆÊý£©Ìṩ¾«È·»Ö¸´¡£

SamzaÌṩµÄ¸ß¼¶³éÏóʹÆäÔÚºÜ¶à·½Ãæ±ÈStormµÈϵͳÌṩµÄ»ùÔª£¨Primitive£©¸üÒ×ÓÚÅäºÏʹÓá£Ä¿Ç°SamzaÖ»Ö§³ÖJVMÓïÑÔ£¬ÕâÒâζ×ÅËüÔÚÓïÑÔÖ§³Ö·½Ãæ²»ÈçStormÁé»î¡£

×ܽá

¶ÔÓÚÒѾ­¾ß±¸»òÒ×ÓÚʵÏÖHadoopºÍKafkaµÄ»·¾³£¬Apache SamzaÊÇÁ÷´¦Àí¹¤×÷¸ºÔØÒ»¸öºÜºÃµÄÑ¡Ôñ¡£Samza±¾ÉíºÜÊʺÏÓжà¸öÍŶÓÐèҪʹÓ㨵«Ï໥֮¼ä²¢²»Ò»¶¨½ôÃÜЭµ÷£©²»Í¬´¦Àí½×¶ÎµÄ¶à¸öÊý¾ÝÁ÷µÄ×éÖ¯¡£Samza¿É´ó·ù¼ò»¯ºÜ¶àÁ÷´¦Àí¹¤×÷£¬¿ÉʵÏÖµÍÑÓ³ÙµÄÐÔÄÜ¡£Èç¹û²¿ÊðÐèÇóÓ뵱ǰϵͳ²»¼æÈÝ£¬Ò²Ðí²¢²»ÊʺÏʹÓ㬵«Èç¹ûÐèÒª¼«µÍÑӳٵĴ¦Àí£¬»ò¶ÔÑϸñµÄÒ»´Î´¦ÀíÓïÒåÓнϸßÐèÇ󣬴ËʱÒÀÈ»ÊʺϿ¼ÂÇ¡£

»ìºÏ´¦Àíϵͳ£ºÅú´¦ÀíºÍÁ÷´¦Àí

һЩ´¦Àí¿ò¼Ü¿Éͬʱ´¦ÀíÅú´¦ÀíºÍÁ÷´¦Àí¹¤×÷¸ºÔØ¡£ÕâЩ¿ò¼Ü¿ÉÒÔÓÃÏàͬ»òÏà¹ØµÄ×é¼þºÍAPI´¦ÀíÁ½ÖÖÀàÐ͵ÄÊý¾Ý£¬½è´ËÈò»Í¬µÄ´¦ÀíÐèÇóµÃÒÔ¼ò»¯¡£

ÈçÄãËù¼û£¬ÕâÒ»ÌØÐÔÖ÷ÒªÊÇÓÉSparkºÍFlinkʵÏֵģ¬ÏÂÎĽ«½éÉÜÕâÁ½ÖÖ¿ò¼Ü¡£ÊµÏÖÕâÑùµÄ¹¦ÄÜÖØµãÔÚÓÚÁ½ÖÖ²»Í¬´¦ÀíģʽÈçºÎ½øÐÐͳһ£¬ÒÔ¼°Òª¶Ô¹Ì¶¨ºÍ²»¹Ì¶¨Êý¾Ý¼¯Ö®¼äµÄ¹ØÏµ½øÐкÎÖÖ¼ÙÉè¡£

ËäÈ»²àÖØÓÚijһÖÖ´¦ÀíÀàÐ͵ÄÏîÄ¿»á¸üºÃµØÂú×ã¾ßÌåÓÃÀýµÄÒªÇ󣬵«»ìºÏ¿ò¼ÜÒâÔÚÌṩһÖÖÊý¾Ý´¦ÀíµÄͨÓýâ¾ö·½°¸¡£ÕâÖÖ¿ò¼Ü²»½ö¿ÉÒÔÌṩ´¦ÀíÊý¾ÝËùÐèµÄ·½·¨£¬¶øÇÒÌṩÁË×Ô¼ºµÄ¼¯³ÉÏî¡¢¿â¡¢¹¤¾ß£¬¿ÉʤÈÎͼÐηÖÎö¡¢»úÆ÷ѧϰ¡¢½»»¥Ê½²éѯµÈ¶àÖÖÈÎÎñ¡£

Apache Spark

Apache SparkÊÇÒ»ÖÖ°üº¬Á÷´¦ÀíÄÜÁ¦µÄÏÂÒ»´úÅú´¦Àí¿ò¼Ü¡£ÓëHadoopµÄMapReduceÒýÇæ»ùÓÚ¸÷ÖÖÏàͬԭÔò¿ª·¢¶øÀ´µÄSparkÖ÷Òª²àÖØÓÚͨ¹ýÍêÉÆµÄÄÚ´æ¼ÆËãºÍ´¦ÀíÓÅ»¯»úÖÆ¼Ó¿ìÅú´¦Àí¹¤×÷¸ºÔصÄÔËÐÐËÙ¶È¡£

Spark¿É×÷Ϊ¶ÀÁ¢¼¯Èº²¿Êð£¨ÐèÒªÏàÓ¦´æ´¢²ãµÄÅäºÏ£©£¬»ò¿ÉÓëHadoop¼¯³É²¢È¡´úMapReduceÒýÇæ¡£

Åú´¦Àíģʽ

ÓëMapReduce²»Í¬£¬SparkµÄÊý¾Ý´¦Àí¹¤×÷È«²¿ÔÚÄÚ´æÖнøÐУ¬Ö»ÔÚÒ»¿ªÊ¼½«Êý¾Ý¶ÁÈëÄڴ棬ÒÔ¼°½«×îÖÕ½á¹û³Ö¾Ã´æ´¢Ê±ÐèÒªÓë´æ´¢²ã½»»¥¡£ËùÓÐÖмä̬µÄ´¦Àí½á¹û¾ù´æ´¢ÔÚÄÚ´æÖС£

ËäÈ»ÄÚ´æÖд¦Àí·½Ê½¿É´ó·ù¸ÄÉÆÐÔÄÜ£¬SparkÔÚ´¦ÀíÓë´ÅÅÌÓйصÄÈÎÎñʱËÙ¶ÈÒ²ÓкܴóÌáÉý£¬ÒòΪͨ¹ýÌáǰ¶ÔÕû¸öÈÎÎñ¼¯½øÐзÖÎö¿ÉÒÔʵÏÖ¸üÍêÉÆµÄÕûÌåʽÓÅ»¯¡£Îª´ËSpark¿É´´½¨´ú±íËùÐèÖ´ÐеÄÈ«²¿²Ù×÷£¬ÐèÒª²Ù×÷µÄÊý¾Ý£¬ÒÔ¼°²Ù×÷ºÍÊý¾ÝÖ®¼ä¹ØÏµµÄDirected Acyclic Graph£¨ÓÐÏòÎÞ»·Í¼£©£¬¼´DAG£¬½è´Ë´¦ÀíÆ÷¿ÉÒÔ¶ÔÈÎÎñ½øÐиüÖÇÄܵÄЭµ÷¡£

ΪÁËʵÏÖÄÚ´æÖÐÅú¼ÆË㣬Spark»áʹÓÃÒ»ÖÖÃûΪResilient Distributed Dataset£¨µ¯ÐÔ·Ö²¼Ê½Êý¾Ý¼¯£©£¬¼´RDDµÄÄ£ÐÍÀ´´¦ÀíÊý¾Ý¡£ÕâÊÇÒ»ÖÖ´ú±íÊý¾Ý¼¯£¬Ö»Î»ÓÚÄÚ´æÖУ¬ÓÀºã²»±äµÄ½á¹¹¡£Õë¶ÔRDDÖ´ÐеIJÙ×÷¿ÉÉú³ÉеÄRDD¡£Ã¿¸öRDD¿Éͨ¹ýÊÀϵ£¨Lineage£©»ØËÝÖÁ¸¸¼¶RDD£¬²¢×îÖÕ»ØËÝÖÁ´ÅÅÌÉϵÄÊý¾Ý¡£Spark¿Éͨ¹ýRDDÔÚÎÞÐ轫ÿ¸ö²Ù×÷µÄ½á¹ûд»Ø´ÅÅ̵ÄǰÌáÏÂʵÏÖÈÝ´í¡£

Á÷´¦Àíģʽ

Á÷´¦ÀíÄÜÁ¦ÊÇÓÉSpark StreamingʵÏֵġ£Spark±¾ÉíÔÚÉè¼ÆÉÏÖ÷ÒªÃæÏòÅú´¦Àí¹¤×÷¸ºÔØ£¬ÎªÁËÃÖ²¹ÒýÇæÉè¼ÆºÍÁ÷´¦Àí¹¤×÷¸ºÔØÌØÕ÷·½ÃæµÄ²îÒ죬SparkʵÏÖÁËÒ»ÖÖ½Ð×ö΢Åú£¨Micro-batch£©*µÄ¸ÅÄî¡£ÔÚ¾ßÌå²ßÂÔ·½Ãæ¸Ã¼¼Êõ¿ÉÒÔ½«Êý¾ÝÁ÷ÊÓ×÷һϵÁзdz£Ð¡µÄ¡°Åú¡±£¬½è´Ë¼´¿Éͨ¹ýÅú´¦ÀíÒýÇæµÄÔ­ÉúÓïÒå½øÐд¦Àí¡£

Spark Streaming»áÒÔÑÇÃë¼¶ÔöÁ¿¶ÔÁ÷½øÐлº³å£¬ËæºóÕâЩ»º³å»á×÷ΪС¹æÄ£µÄ¹Ì¶¨Êý¾Ý¼¯½øÐÐÅú´¦Àí¡£ÕâÖÖ·½Ê½µÄʵ¼ÊЧ¹û·Ç³£ºÃ£¬µ«Ïà±ÈÕæÕýµÄÁ÷´¦Àí¿ò¼ÜÔÚÐÔÄÜ·½ÃæÒÀÈ»´æÔÚ²»×ã¡£

ÓÅÊÆºÍ¾ÖÏÞ

ʹÓÃSpark¶ø·ÇHadoop MapReduceµÄÖ÷ÒªÔ­ÒòÊÇËÙ¶È¡£ÔÚÄÚ´æ¼ÆËã²ßÂÔºÍÏȽøµÄDAGµ÷¶ÈµÈ»úÖÆµÄ°ïÖúÏ£¬Spark¿ÉÒÔÓøü¿ìËÙ¶È´¦ÀíÏàͬµÄÊý¾Ý¼¯¡£

SparkµÄÁíÒ»¸öÖØÒªÓÅÊÆÔÚÓÚ¶àÑùÐÔ¡£¸Ã²úÆ·¿É×÷Ϊ¶ÀÁ¢¼¯Èº²¿Ê𣬻òÓëÏÖÓÐHadoop¼¯Èº¼¯³É¡£¸Ã²úÆ·¿ÉÔËÐÐÅú´¦ÀíºÍÁ÷´¦Àí£¬ÔËÐÐÒ»¸ö¼¯Èº¼´¿É´¦Àí²»Í¬ÀàÐ͵ÄÈÎÎñ¡£

³ýÁËÒýÇæ×ÔÉíµÄÄÜÁ¦Íâ£¬Î§ÈÆSpark»¹½¨Á¢Á˰üº¬¸÷ÖÖ¿âµÄÉú̬ϵͳ£¬¿ÉΪ»úÆ÷ѧϰ¡¢½»»¥Ê½²éѯµÈÈÎÎñÌṩ¸üºÃµÄÖ§³Ö¡£Ïà±ÈMapReduce£¬SparkÈÎÎñ¸üÊÇ¡°ÖÚËùÖÜÖª¡±µØÒ×ÓÚ±àд£¬Òò´Ë¿É´ó·ùÌá¸ßÉú²úÁ¦¡£

ΪÁ÷´¦Àíϵͳ²ÉÓÃÅú´¦ÀíµÄ·½·¨£¬ÐèÒª¶Ô½øÈëϵͳµÄÊý¾Ý½øÐлº³å¡£»º³å»úÖÆÊ¹µÃ¸Ã¼¼Êõ¿ÉÒÔ´¦Àí·Ç³£´óÁ¿µÄ´«ÈëÊý¾Ý£¬Ìá¸ßÕûÌåÍÌÍÂÂÊ£¬µ«µÈ´ý»º³åÇøÇå¿ÕÒ²»áµ¼ÖÂÑÓ³ÙÔö¸ß¡£ÕâÒâζ×ÅSpark Streaming¿ÉÄܲ»Êʺϴ¦Àí¶ÔÑÓ³ÙÓнϸßÒªÇóµÄ¹¤×÷¸ºÔØ¡£

ÓÉÓÚÄÚ´æÍ¨³£±È´ÅÅ̿ռä¸ü¹ó£¬Òò´ËÏà±È»ùÓÚ´ÅÅ̵Äϵͳ£¬Spark³É±¾¸ü¸ß¡£È»¶ø´¦ÀíËٶȵÄÌáÉýÒâζ×Å¿ÉÒÔ¸ü¿ìËÙÍê³ÉÈÎÎñ£¬ÔÚÐèÒª°´ÕÕСʱÊýΪ×ÊÔ´¸¶·ÑµÄ»·¾³ÖУ¬ÕâÒ»ÌØÐÔͨ³£¿ÉÒÔµÖÏûÔö¼ÓµÄ³É±¾¡£

SparkÄÚ´æ¼ÆËãÕâÒ»Éè¼ÆµÄÁíÒ»¸öºó¹ûÊÇ£¬Èç¹û²¿ÊðÔÚ¹²ÏíµÄ¼¯ÈºÖпÉÄÜ»áÓöµ½×ÊÔ´²»×ãµÄÎÊÌâ¡£Ïà±ÈHadoop MapReduce£¬SparkµÄ×ÊÔ´ÏûºÄ¸ü´ó£¬¿ÉÄÜ»á¶ÔÐèÒªÔÚͬһʱ¼äʹÓü¯ÈºµÄÆäËûÈÎÎñ²úÉúÓ°Ïì¡£´Ó±¾ÖÊÀ´¿´£¬Spark¸ü²»ÊʺÏÓëHadoop¶ÑÕ»µÄÆäËû×é¼þ¹²´æÒ»´¦¡£

×ܽá

SparkÊǶàÑù»¯¹¤×÷¸ºÔØ´¦ÀíÈÎÎñµÄ×î¼ÑÑ¡Ôñ¡£SparkÅú´¦ÀíÄÜÁ¦ÒÔ¸ü¸ßÄÚ´æÕ¼ÓÃΪ´ú¼ÛÌṩÁËÎÞÓëÂױȵÄËÙ¶ÈÓÅÊÆ¡£¶ÔÓÚÖØÊÓÍÌÍÂÂʶø·ÇÑӳٵŤ×÷¸ºÔØ£¬Ôò±È½ÏÊʺÏʹÓÃSpark Streaming×÷ΪÁ÷´¦Àí½â¾ö·½°¸¡£

Apache Flink

Apache FlinkÊÇÒ»ÖÖ¿ÉÒÔ´¦ÀíÅú´¦ÀíÈÎÎñµÄÁ÷´¦Àí¿ò¼Ü¡£¸Ã¼¼Êõ¿É½«Åú´¦ÀíÊý¾ÝÊÓ×÷¾ß±¸ÓÐÏޱ߽çµÄÊý¾ÝÁ÷£¬½è´Ë½«Åú´¦ÀíÈÎÎñ×÷ΪÁ÷´¦ÀíµÄ×Ó¼¯¼ÓÒÔ´¦Àí¡£ÎªËùÓд¦ÀíÈÎÎñ²ÉÈ¡Á÷´¦ÀíΪÏȵķ½·¨»á²úÉúһϵÁÐÓÐȤµÄ¸±×÷Óá£

ÕâÖÖÁ÷´¦ÀíΪÏȵķ½·¨Ò²½Ð×öKappa¼Ü¹¹£¬ÓëÖ®Ïà¶ÔµÄÊǸü¼Ó±»¹ãΪÈËÖªµÄLambda¼Ü¹¹£¨¸Ã¼Ü¹¹ÖÐʹÓÃÅú´¦Àí×÷ΪÖ÷Òª´¦Àí·½·¨£¬Ê¹ÓÃÁ÷×÷Ϊ²¹³ä²¢ÌṩÔçÆÚδ¾­ÌáÁ¶µÄ½á¹û£©¡£Kappa¼Ü¹¹Öлá¶ÔÒ»ÇнøÐÐÁ÷´¦Àí£¬½è´Ë¶ÔÄ£ÐͽøÐмò»¯£¬¶øÕâÒ»ÇÐÊÇÔÚ×î½üÁ÷´¦ÀíÒýÇæÖð½¥³ÉÊìºó²Å¿ÉÐеġ£

Á÷´¦ÀíÄ£ÐÍ

FlinkµÄÁ÷´¦ÀíÄ£ÐÍÔÚ´¦Àí´«ÈëÊý¾Ýʱ»á½«Ã¿Ò»ÏîÊÓ×÷ÕæÕýµÄÊý¾ÝÁ÷¡£FlinkÌṩµÄDataStream API¿ÉÓÃÓÚ´¦ÀíÎÞ¾¡µÄÊý¾ÝÁ÷¡£Flink¿ÉÅäºÏʹÓõĻù±¾×é¼þ°üÀ¨£º

1¡¢Stream£¨Á÷£©ÊÇÖ¸ÔÚϵͳÖÐÁ÷תµÄ£¬ÓÀºã²»±äµÄÎޱ߽çÊý¾Ý¼¯

2¡¢Operator£¨²Ù×÷·½£©ÊÇÖ¸Õë¶ÔÊý¾ÝÁ÷Ö´ÐвÙ×÷ÒÔ²úÉúÆäËûÊý¾ÝÁ÷µÄ¹¦ÄÜ

3¡¢Source£¨Ô´£©ÊÇÖ¸Êý¾ÝÁ÷½øÈëϵͳµÄÈë¿Úµã

4¡¢Sink£¨²Û£©ÊÇÖ¸Êý¾ÝÁ÷À뿪Flinkϵͳºó½øÈëµ½µÄλÖ㬲ۿÉÒÔÊÇÊý¾Ý¿â»òµ½ÆäËûϵͳµÄÁ¬½ÓÆ÷

ΪÁËÔÚ¼ÆËã¹ý³ÌÖÐÓöµ½ÎÊÌâºóÄܹ»»Ö¸´£¬Á÷´¦ÀíÈÎÎñ»áÔÚÔ¤¶¨Ê±¼äµã´´½¨¿ìÕÕ¡£ÎªÁËʵÏÖ״̬´æ´¢£¬Flink¿ÉÅäºÏ¶àÖÖ״̬ºó¶ËϵͳʹÓ㬾ßÌåÈ¡¾öÓÚËùÐèʵÏֵĸ´ÔӶȺͳ־ÃÐÔ¼¶±ð¡£

´ËÍâFlinkµÄÁ÷´¦ÀíÄÜÁ¦»¹¿ÉÒÔÀí½â¡°Ê¼þʱ¼ä¡±ÕâÒ»¸ÅÄÕâÊÇָʼþʵ¼Ê·¢ÉúµÄʱ¼ä£¬´ËÍâ¸Ã¹¦ÄÜ»¹¿ÉÒÔ´¦Àí»á»°¡£ÕâÒâζ×Å¿ÉÒÔͨ¹ýijÖÖÓÐȤµÄ·½Ê½È·±£Ö´ÐÐ˳ÐòºÍ·Ö×é¡£

Åú´¦ÀíÄ£ÐÍ

FlinkµÄÅú´¦ÀíÄ£ÐÍÔںܴó³Ì¶ÈÉϽö½öÊǶÔÁ÷´¦ÀíÄ£Ð͵ÄÀ©Õ¹¡£´ËʱģÐͲ»ÔÙ´Ó³ÖÐøÁ÷ÖжÁÈ¡Êý¾Ý£¬¶øÊǴӳ־ô洢ÖÐÒÔÁ÷µÄÐÎʽ¶ÁÈ¡Óб߽çµÄÊý¾Ý¼¯¡£Flink»á¶ÔÕâЩ´¦ÀíÄ£ÐÍʹÓÃÍêÈ«ÏàͬµÄÔËÐÐʱ¡£

Flink¿ÉÒÔ¶ÔÅú´¦Àí¹¤×÷¸ºÔØÊµÏÖÒ»¶¨µÄÓÅ»¯¡£ÀýÈçÓÉÓÚÅú´¦Àí²Ù×÷¿Éͨ¹ý³Ö¾Ã´æ´¢¼ÓÒÔÖ§³Ö£¬Flink¿ÉÒÔ²»¶ÔÅú´¦Àí¹¤×÷¸ºÔØ´´½¨¿ìÕÕ¡£Êý¾ÝÒÀÈ»¿ÉÒÔ»Ö¸´£¬µ«³£¹æ´¦Àí²Ù×÷¿ÉÒÔÖ´Ðеøü¿ì¡£

ÁíÒ»¸öÓÅ»¯ÊǶÔÅú´¦ÀíÈÎÎñ½øÐзֽ⣬ÕâÑù¼´¿ÉÔÚÐèÒªµÄʱºòµ÷Óò»Í¬½×¶ÎºÍ×é¼þ¡£½è´ËFlink¿ÉÒÔÓ뼯ȺµÄÆäËûÓû§¸üºÃµØ¹²´æ¡£¶ÔÈÎÎñÌáǰ½øÐзÖÎöʹµÃFlink¿ÉÒԲ鿴ÐèÒªÖ´ÐеÄËùÓвÙ×÷¡¢Êý¾Ý¼¯µÄ´óС£¬ÒÔ¼°ÏÂÓÎÐèÒªÖ´ÐеIJÙ×÷²½Ö裬½è´ËʵÏÖ½øÒ»²½µÄÓÅ»¯¡£

ÓÅÊÆºÍ¾ÖÏÞ

FlinkĿǰÊÇ´¦Àí¿ò¼ÜÁìÓòÒ»¸ö¶ÀÌØµÄ¼¼Êõ¡£ËäÈ»SparkÒ²¿ÉÒÔÖ´ÐÐÅú´¦ÀíºÍÁ÷´¦Àí£¬µ«SparkµÄÁ÷´¦Àí²ÉÈ¡µÄ΢Åú¼Ü¹¹Ê¹ÆäÎÞ·¨ÊÊÓÃÓںܶàÓÃÀý¡£FlinkÁ÷´¦ÀíΪÏȵķ½·¨¿ÉÌṩµÍÑÓ³Ù£¬¸ßÍÌÍÂÂÊ£¬½üºõÖðÏî´¦ÀíµÄÄÜÁ¦¡£

FlinkµÄºÜ¶à×é¼þÊÇ×ÔÐйÜÀíµÄ¡£ËäÈ»ÕâÖÖ×ö·¨½ÏΪº±¼û£¬µ«³öÓÚÐÔÄÜ·½ÃæµÄÔ­Òò£¬¸Ã¼¼Êõ¿É×ÔÐйÜÀíÄڴ棬ÎÞÐèÒÀÀµÔ­ÉúµÄJavaÀ¬»ø»ØÊÕ»úÖÆ¡£ÓëSpark²»Í¬£¬´ý´¦ÀíÊý¾ÝµÄÌØÕ÷·¢Éú±ä»¯ºóFlinkÎÞÐèÊÖ¹¤ÓÅ»¯ºÍµ÷Õû£¬²¢ÇҸü¼ÊõÒ²¿ÉÒÔ×ÔÐд¦ÀíÊý¾Ý·ÖÇøºÍ×Ô¶¯»º´æµÈ²Ù×÷¡£

Flink»áͨ¹ý¶àÖÖ·½Ê½¶Ô¹¤×÷½øÐзÖÐí½ø¶øÓÅ»¯ÈÎÎñ¡£ÕâÖÖ·ÖÎöÔÚ²¿·Ö³Ì¶ÈÉÏÀàËÆÓÚSQL²éѯ¹æ»®Æ÷¶Ô¹ØÏµÐÍÊý¾Ý¿âËù×öµÄÓÅ»¯£¬¿ÉÕë¶ÔÌØ¶¨ÈÎÎñÈ·¶¨×î¸ßЧµÄʵÏÖ·½·¨¡£¸Ã¼¼Êõ»¹Ö§³Ö¶à½×¶Î²¢ÐÐÖ´ÐУ¬Í¬Ê±¿É½«ÊÜ×èÈÎÎñµÄÊý¾Ý¼¯ºÏÔÚÒ»Æð¡£¶ÔÓÚµü´úʽÈÎÎñ£¬³öÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇ£¬Flink»á³¢ÊÔÔÚ´æ´¢Êý¾ÝµÄ½ÚµãÉÏÖ´ÐÐÏàÓ¦µÄ¼ÆËãÈÎÎñ¡£´ËÍ⻹¿É½øÐС°ÔöÁ¿µü´ú¡±£¬»ò½ö¶ÔÊý¾ÝÖÐÓи͝µÄ²¿·Ö½øÐеü´ú¡£

ÔÚÓû§¹¤¾ß·½Ã棬FlinkÌṩÁË»ùÓÚWebµÄµ÷¶ÈÊÓͼ£¬½è´Ë¿ÉÇáËɹÜÀíÈÎÎñ²¢²é¿´ÏµÍ³×´Ì¬¡£Óû§Ò²¿ÉÒԲ鿴ÒÑÌá½»ÈÎÎñµÄÓÅ»¯·½°¸£¬½è´ËÁ˽âÈÎÎñ×îÖÕÊÇÈçºÎÔÚ¼¯ÈºÖÐʵÏֵġ£¶ÔÓÚ·ÖÎöÀàÈÎÎñ£¬FlinkÌṩÁËÀàËÆSQLµÄ²éѯ£¬Í¼Ðλ¯´¦Àí£¬ÒÔ¼°»úÆ÷ѧϰ¿â£¬´ËÍ⻹֧³ÖÄÚ´æ¼ÆËã¡£

FlinkÄܺܺõØÓëÆäËû×é¼þÅäºÏʹÓá£Èç¹ûÅäºÏHadoop ¶ÑջʹÓ㬸ü¼Êõ¿ÉÒԺܺõØÈÚÈëÕû¸ö»·¾³£¬ÔÚÈκÎʱºò¶¼Ö»Õ¼ÓñØÒªµÄ×ÊÔ´¡£¸Ã¼¼Êõ¿ÉÇáËɵØÓëYARN¡¢HDFSºÍKafka ¼¯³É¡£ÔÚ¼æÈݰüµÄ°ïÖúÏ£¬Flink»¹¿ÉÒÔÔËÐÐΪÆäËû´¦Àí¿ò¼Ü£¬ÀýÈçHadoopºÍStorm±àдµÄÈÎÎñ¡£

ĿǰFlink×î´óµÄ¾ÖÏÞÖ®Ò»ÔÚÓÚÕâÒÀÈ»ÊÇÒ»¸ö·Ç³£¡°ÄêÓס±µÄÏîÄ¿¡£ÏÖʵ»·¾³ÖиÃÏîÄ¿µÄ´ó¹æÄ£²¿ÊðÉв»ÈçÆäËû´¦Àí¿ò¼ÜÄÇô³£¼û£¬¶ÔÓÚFlinkÔÚËõ·ÅÄÜÁ¦·½ÃæµÄ¾ÖÏÞĿǰҲûÓнÏΪÉîÈëµÄÑо¿¡£Ëæ×Å¿ìËÙ¿ª·¢ÖÜÆÚµÄÍÆ½øºÍ¼æÈݰüµÈ¹¦ÄܵÄÍêÉÆ£¬µ±Ô½À´Ô½¶àµÄ×éÖ¯¿ªÊ¼³¢ÊÔʱ£¬¿ÉÄÜ»á³öÏÖÔ½À´Ô½¶àµÄFlink²¿Êð¡£

×ܽá

FlinkÌṩÁ˵ÍÑÓ³ÙÁ÷´¦Àí£¬Í¬Ê±¿ÉÖ§³Ö´«Í³µÄÅú´¦ÀíÈÎÎñ¡£FlinkÒ²Ðí×îÊʺÏÓм«¸ßÁ÷´¦ÀíÐèÇ󣬲¢ÓÐÉÙÁ¿Åú´¦ÀíÈÎÎñµÄ×éÖ¯¡£¸Ã¼¼Êõ¿É¼æÈÝÔ­ÉúStormºÍHadoop³ÌÐò£¬¿ÉÔÚYARN¹ÜÀíµÄ¼¯ÈºÉÏÔËÐУ¬Òò´Ë¿ÉÒԺܷ½±ãµØ½øÐÐÆÀ¹À¡£¿ìËÙ½øÕ¹µÄ¿ª·¢¹¤×÷ʹÆäÖµµÃ±»´ó¼Ò¹Ø×¢¡£

½áÂÛ

´óÊý¾Ýϵͳ¿ÉʹÓöàÖÖ´¦Àí¼¼Êõ¡£

¶ÔÓÚ½öÐèÒªÅú´¦ÀíµÄ¹¤×÷¸ºÔØ£¬Èç¹û¶Ôʱ¼ä²»Ãô¸Ð£¬±ÈÆäËû½â¾ö·½°¸ÊµÏֳɱ¾¸üµÍµÄHadoop½«»áÊÇÒ»¸öºÃÑ¡Ôñ¡£

¶ÔÓÚ½öÐèÒªÁ÷´¦ÀíµÄ¹¤×÷¸ºÔØ£¬Storm¿ÉÖ§³Ö¸ü¹ã·ºµÄÓïÑÔ²¢ÊµÏÖ¼«µÍÑӳٵĴ¦Àí£¬µ«Ä¬ÈÏÅäÖÿÉÄܲúÉúÖØ¸´½á¹û²¢ÇÒÎÞ·¨±£Ö¤Ë³Ðò¡£SamzaÓëYARNºÍKafka½ôÃܼ¯³É¿ÉÌṩ¸ü´óÁé»îÐÔ£¬¸üÒ×ÓõĶàÍŶÓʹÓã¬ÒÔ¼°¸ü¼òµ¥µÄ¸´ÖƺÍ״̬¹ÜÀí¡£

¶ÔÓÚ»ìºÏÐ͹¤×÷¸ºÔØ£¬Spark¿ÉÌṩ¸ßËÙÅú´¦ÀíºÍ΢Åú´¦ÀíģʽµÄÁ÷´¦Àí¡£¸Ã¼¼ÊõµÄÖ§³Ö¸üÍêÉÆ£¬¾ß±¸¸÷ÖÖ¼¯³É¿âºÍ¹¤¾ß£¬¿ÉʵÏÖÁé»îµÄ¼¯³É¡£FlinkÌṩÁËÕæÕýµÄÁ÷´¦Àí²¢¾ß±¸Åú´¦ÀíÄÜÁ¦£¬Í¨¹ýÉî¶ÈÓÅ»¯¿ÉÔËÐÐÕë¶ÔÆäËûƽ̨±àдµÄÈÎÎñ£¬ÌṩµÍÑӳٵĴ¦Àí£¬µ«Êµ¼ÊÓ¦Ó÷½Ã滹Ϊʱ¹ýÔç¡£

×îÊʺϵĽâ¾ö·½°¸Ö÷Ҫȡ¾öÓÚ´ý´¦ÀíÊý¾ÝµÄ״̬£¬¶Ô´¦ÀíËùÐèʱ¼äµÄÐèÇó£¬ÒÔ¼°Ï£ÍûµÃµ½µÄ½á¹û¡£¾ßÌåÊÇʹÓÃÈ«¹¦Äܽâ¾ö·½°¸»òÖ÷Òª²àÖØÓÚijÖÖÏîÄ¿µÄ½â¾ö·½°¸£¬Õâ¸öÎÊÌâÐèÒªÉ÷ÖØÈ¨ºâ¡£Ëæ×ÅÖð½¥³ÉÊì²¢±»¹ã·º½ÓÊÜ£¬ÔÚÆÀ¹ÀÈκÎгöÏֵĴ´ÐÂÐͽâ¾ö·½°¸Ê±¶¼ÐèÒª¿¼ÂÇÀàËÆµÄÎÊÌâ¡£

 

   
2074 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

»ùÓÚ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)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí