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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Uber¿ªÔ´Marmaray£º»ùÓÚHadoopµÄͨÓÃÊý¾ÝÉãÈ¡ºÍ·ÖÉ¢¿ò¼Ü
 
  1806  次浏览      27
 2018-10-24 
 
±à¼­ÍƼö:
À´Ô´ÍøÂ磬MarmarayÊÇUber¿ªÔ´µÄApache HadoopÊý¾ÝÌáÈ¡ºÍ·ÖÉ¢¿ò¼Ü¡£MarmarayÓÉÎÒÃǵÄHadoopƽ̨ÍŶÓÉè¼ÆºÍ¿ª·¢£¬ÊÇÒ»¸ö½¨Á¢ÔÚHadoopÉú̬ϵͳ֮ÉϵĻùÓÚ²å¼þµÄ¿ò¼Ü¡£

AIǰÏßµ¼¶Á£º

ÈýÄêǰ£¬Uber²ÉÓÃApache Hadoop×÷ΪÊý¾Ýƽ̨£¬´Ó¶ø¿ÉÒÔ¿ç¼ÆËã»ú¼¯Èº¹ÜÀíÊýPBµÄÊý¾Ý¡£µ«ÊÇ£¬ÒòΪÎÒÃÇÓкܶàÍŶӡ¢¹¤¾ßºÍÊý¾ÝÔ´£¬ËùÒÔÐèÒªÒ»ÖÖ¿É¿¿µÄ·½Ê½À´ÉãÈ¡ºÍ·ÖÉ¢Êý¾Ý¡£MarmarayÊÇUber¿ªÔ´µÄApache HadoopÊý¾ÝÌáÈ¡ºÍ·ÖÉ¢¿ò¼Ü¡£MarmarayÓÉÎÒÃǵÄHadoopƽ̨ÍŶÓÉè¼ÆºÍ¿ª·¢£¬ÊÇÒ»¸ö½¨Á¢ÔÚHadoopÉú̬ϵͳ֮ÉϵĻùÓÚ²å¼þµÄ¿ò¼Ü¡£Óû§¿ÉÒÔÐÂÔö²å¼þÒÔ±ã´ÓÈκÎÀ´Ô´ÉãÈ¡Êý¾Ý£¬²¢ÀûÓÃApache Spark½«Êý¾Ý·ÖÉ¢µ½½ÓÊÕÆ÷ÉÏ¡£MarmarayÕâ¸öÃû×ÖÔ´ÓÚÍÁ¶úÆäµÄÒ»ÌõÁ¬½ÓÅ·ÖÞºÍÑÇÖÞµÄËíµÀ£¬ÔÚUberÄÚ²¿£¬ÎÒÃǽ«MarmarayÉèÏëΪ¸ù¾Ý¿Í»§Æ«ºÃ½«Êý¾Ý´ÓÈκÎÀ´Ô´Á¬½Óµ½ÈκνÓÊÕÆ÷µÄ¹ÜµÀ¡£Êý¾ÝºþµÄÊý¾Ýͨ³£ÔÚÖÊÁ¿·½Ãæ´æÔںܴó²îÒì¡£Marmaray¿ÉÒÔÈ·±£ËùÓÐÉãÈ¡µÄԭʼÊý¾Ý¶¼·ûºÏÊʵ±µÄԴģʽ£¬±£³Ö¸ßÖÊÁ¿Ë®Æ½£¬´Ó¶ø´øÀ´¿É¿¿µÄ·ÖÎö½á¹û¡£Êý¾Ý¿ÆÑ§¼Ò¿ÉÒÔ½«Ê±¼ä»¨ÔÚ´ÓÕâЩÊý¾ÝÖÐÌáÈ¡ÓÐÓõļû½âÉÏ£¬¶ø²»ÊÇÓÃÀ´´¦ÀíÊý¾ÝÖÊÁ¿ÎÊÌâ¡£

ÔÚUber£¬MarmarayÒԾۺϵķ½Ê½Á¬½Ó¸÷ÖÖϵͳºÍ·þÎñ£º

ͨ¹ýÎÒÃǵÄģʽ¹ÜÀí¿âºÍ·þÎñÉú³É¸ßÖÊÁ¿µÄģʽ»¯Êý¾Ý¡£

ͨ¹ýMarmarayµÄÉãÈ¡×é¼þ½«¶à¸öÊý¾Ý´æ´¢ÖеÄÊý¾ÝÉãÈ¡µ½ÎÒÃǵÄHadoopÊý¾ÝºþÖС£

ʹÓÃUberµÄÄÚ²¿¹¤×÷Á÷³Ì±àÅÅ·þÎñÀ´¹¹½¨¹ÜµÀ£¬ÓÃÒÔ´¦ÀíÉãÈ¡µÄÊý¾Ý£¬ÒÔ¼°¸ù¾ÝÕâЩÊý¾Ý±£´æºÍ¼ÆËãÒµÎñÖ¸±ê¡£

½«´¦ÀíµÄ½á¹ûÌṩ¸øÔÚÏßÊý¾Ý´æ´¢£¬ÄÚ²¿¿Í»§¿ÉÒÔͨ¹ýMarmaray²éѯÊý¾Ý²¢»ñµÃ½üºõʵʱµÄ½á¹û¡£

ͼ1£ºMarmaray½«Êý¾ÝÉãÈ¡µ½HadoopÊý¾ÝºþÖУ¬²¢·ÖÉ¢µ½Êý¾Ý´æ´¢ÖС£

ËäÈ»MarmarayʵÏÖÁËÈÎÒâÊý¾ÝÔ´µ½ÈÎÒâÊý¾Ý²ÛµÄÁ¬½Ó£¬µ«ÎÒÃÇ»¹ÐèÒª¹¹½¨Ò»¸ö×ÔÖú·þÎñƽ̨£¬ÎªÀ´×Ô²»Í¬±³¾°¡¢ÍŶӺͼ¼Êõרҵ֪ʶµÄÓû§ÌṩÎÞ·ìµÄʹÓÃÌåÑé¡£

´ó¹æÄ£Êý¾ÝÉãÈëµÄÌôÕ½

UberµÄÒµÎñÉú³É´óÁ¿µÄԭʼÊý¾Ý£¬²¢½«ËüÃÇ´æ´¢ÔÚ¸÷ÖÖÊý¾ÝÔ´ÖУ¬ÀýÈçKafka¡¢SchemalessºÍMySQL¡£ÎÒÃÇÐèÒª½«ÕâЩÊý¾ÝÉãÈ¡µ½HadoopÊý¾ÝºþÖУ¬ÒÔ½øÐÐÒµÎñ·ÖÎö¡£Ëæ×ÅUberÒµÎñµÄ´¹Ö±Ôö³¤£¬Êý¾ÝÉãÈ¡µÄ¹æÄ£³ÊÏÖ³öÖ¸Êý¼¶µÄÔö³¤¡£Ãæ¶Ô´ó¹æÄ£Êý¾Ý¿É¿¿ÐÔµÄÐèÇó£¬ÎÒÃDz»µÃ²»ÖØÐ¹¹½¨ÎÒÃǵÄÉãȡƽ̨£¬ÒÔÈ·±£Äܹ»¸úÉϹ«Ë¾Ôö³¤µÄ²½·¥¡£

ͼ2£ºËæ×ÅUber¼ÌÐøÀ©Õ¹È«ÇòÒµÎñ£¬´æ´¢ÔÚHadoopÊý¾ÝºþÖеÄԭʼÊý¾Ý³ÊÖ¸Êý¼¶Ôö³¤¡£

֮ǰµÄÊý¾Ý¼Ü¹¹ÐèÒªÔËÐкÍά»¤¶à¸öÊý¾Ý¹ÜµÀ£¬Ã¿¸ö¹ÜµÀ¶ÔÓ¦²»Í¬µÄÉú²ú´úÂë¿â£¬Ëæ×ÅÊý¾ÝÁ¿µÄÔö¼Ó£¬ÕâЩ¹ÜµÀ±äµÃÔ½À´Ô½·±Ëö¡£MySQL¡¢KafkaºÍSchemalessµÈÊý¾ÝÔ´°üº¬ÐèÒª±»ÉãÈ¡µ½HiveÖеÄԭʼÊý¾Ý£¬ÒÔÖ§³ÖÕû¸ö¹«Ë¾ÍŶӵĸ÷ÖÖ·ÖÎöÐèÇó¡£Ã¿¸öÊý¾ÝÔ´¶¼ÓÐ×Ô¼ºµÄ´úÂë¿âºÍÏà¹ØµÄ¸´ÔÓÐÔ£¬ÒÔ¼°Ò»×é¶ÀÓеÄÅäÖá¢Í¼±íºÍ¾¯±¨¡£Ìí¼ÓеÄÉãȡԴÆÈÔÚü½Þ£¬Î¬»¤µÄ¿ªÏúÒªÇóÎÒÃǵĴóÊý¾ÝÉú̬ϵͳ֧³ÖËùÓÐÕâЩϵͳ¡£ÂÖ°à´ýÃüµÄ¸ºµ£Ê®·Ö·±ÖØ£¬ÓÐʱÿÖÜ»áÊÕµ½200¶à¸ö¾¯±¨¡£

ͼ3£ºHadoopƽ̨ÍŶӵÄÂÖ°à´ýÃü¾¯±¨Í¼±í£¬¿É¼ûά»¤ÏµÍ³ÐèÒª¶à´óµÄ¿ªÏú¡£

Ëæ×ÅMarmarayµÄÍÆ³ö£¬ÎÒÃǽ«ÉãÈ¡¹ÜµÀÕûºÏµ½Ò»¸öÓëÔ´Î޹صĹܵÀºÍ´úÂë¿âÖУ¬ÒÔ´ËÀ´Ìá¸ß¿Éά»¤ÐÔºÍ×ÊÔ´ÀûÓÃÂÊ¡£

ÎÞÂÛÔ´Êý¾Ý´æ´¢ÊÇʲô£¬µ¥Ò»ÉãÈ¡¹ÜµÀ¶¼½«Ö´ÐÐÏàͬµÄÓÐÏò·ÇÑ­»·Í¼×÷Òµ£¨DAG£©¡£ÔÚÔËÐÐʱ£¬ÉãÈ¡ÐÐΪ½«¸ù¾ÝÌØ¶¨Ô´£¨ÀàËÆÓÚ²ßÂÔÉè¼ÆÄ£Ê½£©¶øÓÐËù±ä»¯£¬ÒÔЭµ÷ÉãÈ¡¹ý³Ì£¬²¢Ê¹ÓÃÒ»ÖÖͨÓõÄÁé»îÅäÖÃÀ´ÊÊӦδÀ´²»Í¬µÄÐèÇóºÍÓÃÀý¡£

UberµÄÊý¾Ý·ÖÉ¢ÐèÇó

ÎÒÃǵĺܶàÄÚ²¿Êý¾ÝÓû§£¬ÀýÈçUber EatsºÍMichelangelo»úÆ÷ѧϰƽ̨ÍŶӣ¬ËûÃÇʹÓÃHadoopÓëÆäËû¹¤¾ßÀ´¹¹½¨ºÍѵÁ·»úÆ÷ѧϰģÐÍ£¬ÒÔÉú³ÉÓмÛÖµµÄÑÜÉúÊý¾Ý¼¯£¬´Ó¶øÌá¸ßЧÂʲ¢¸ÄÉÆÓû§ÌåÑ顣ΪÁË×î´ó»¯ÕâЩÑÜÉúÊý¾Ý¼¯µÄ¼ÛÖµ£¬ÐèÒª½«ÕâЩÊý¾Ý·ÖÉ¢µ½ÔÚÏßÊý¾Ý´æ´¢ÖУ¬ÕâЩÊý¾Ý´æ´¢Í¨³£ÒªÇó±ÈHadoopÉú̬ϵͳµÍµÃ¶àµÄÑÓ³Ù¡£

ÔÚÒýÈëMarmaray֮ǰ£¬Ã¿¸öÍŶӶ¼ÐèÒª¹¹½¨×Ô¼ºµÄÁÙʱÀ©É¢ÏµÍ³¡£ÕâÐ©ÖØ¸´ÐÔ¹¤×÷ºÍ²»¾ßÓÐͨÓÃÐԵŦÄÜͨ³£µ¼Ö¹¤³Ì×ÊÔ´µÄ¼«¶ÈÀË·Ñ¡£MarmarayÓÚ2017Äêµ×·¢²¼£¬ÒÔÂú×ã¶ÔÁé»îµÄͨÓ÷Öɢƽ̨µÄÐèÇó£¬Ëü½«HadoopÊý¾Ý´«Êäµ½ÈκÎÒ»¸öÔÚÏßÊý¾Ý´æ´¢£¬ÒÔ´ËÀ´ÍêÉÆHadoopÉú̬ϵͳ¡£

¸ú×ٶ˵½¶ËÊý¾Ý´«Êä

ÎÒÃǵĺܶàÄÚ²¿Óû§ÐèÒª±£Ö¤½«Êý¾ÝÔ´µÄÊý¾Ý´«Ê䵽Ŀ±ê½ÓÊÕÆ÷£¬ËûÃÇ»¹ÐèÒªÍêÕûÐÔÖ¸±ê£¬°üÀ¨Êý¾Ý´«Êäµ½×îÖÕ½ÓÊÕÆ÷µÄ¿É¿¿ÐÔ¡£´ÓÀíÂÛÉϽ²£¬ÕâÒâζ×ÅÊý¾Ý±»100£¥´«Ê䵽ĿµÄµØ£¬µ«Êµ¼ÊÉÏÎÒÃǵÄÄ¿±êÊÇÌṩ99.99%µ½99.999£¥µÄ¿É¿¿ÐÔ¡£µ±¼Ç¼ÊýÁ¿·Ç³£ÉÙʱ£¬¿ÉÒÔÖ±½Ó¶ÔԴϵͳºÍ½ÓÊÕÆ÷ϵͳÔËÐвéѯÀ´ÑéÖ¤Êý¾ÝÊÇ·ñÒÑËÍ´ï¡£

ÔÚUber£¬ÎÒÃÇÿÌìÉãÈ¡ÊýPBµÄÊý¾ÝºÍ³¬¹ý1000ÒÚÌõÏûÏ¢£¬Òò´ËÎÞ·¨Í¨¹ý²éѯµÄ·½Ê½½øÐÐÊý¾ÝÑéÖ¤¡£Ãæ¶ÔÕâô´ó¹æÄ£µÄÊý¾Ý£¬ÎÒÃÇÐèÒªÒ»¸öÄܹ»¸ú×ÙÊý¾Ý´«Êä¶ø²»»áÏÔÖøÔö¼ÓÑÓ³ÙµÄϵͳ¡£Marmarayͨ¹ý×Ô¶¨ÒåSparkÀÛ¼ÓÆ÷À´Í°·Ö»¯¼Ç¼£¬ÈÃÓû§Äܹ»ÒÔ×îСµÄ¿ªÏú¼à¿ØÊý¾Ý´«Êä¡£

MarmarayµÄ¼Ü¹¹

ÏÂÃæµÄ¼Ü¹¹Í¼ËµÃ÷ÁËMarmarayµÄ»ù±¾¹¹½¨¿éºÍ³éÏó¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÕâЩͨÓÃ×é¼þÏòMarmarayÌí¼ÓÀ©Õ¹£¬ÒÔ±ãÖ§³ÖеÄÊý¾ÝÔ´ºÍ½ÓÊÕÆ÷¡£

ͼ4£ºMarmarayµÄ¼Ü¹¹£¬°üº¬¸÷ÖÖ×é¼þ¡£

DataConverters

ÉãÈ¡ºÍ·ÖÉ¢×÷ÒµÖ÷Òª¶ÔÀ´×ÔÊý¾ÝÔ´µÄ¼Ç¼ִÐÐת»»£¬ÒÔÈ·±£ÔÚ½«Êý¾ÝдÈëÄ¿±ê½ÓÊÕÆ÷֮ǰ¾ß±¸ËùÐè¸ñʽ¡£Marmaray½«¶à¸öת»»Æ÷Á´½ÓÔÚÒ»ÆðÖ´Ðжà´Îת»»£¬²¢ÇÒ¿ÉÒÔдÈë¶à¸ö½ÓÊÕÆ÷¡£

DataConvertersµÄÒ»¸ö¹Ø¼üµÄ×÷ÓÃÊÇÔÚת»»Ê±Éú³É´íÎó¼Ç¼¡£ÎªÁ˱£Ö¤·ÖÎö½á¹û¸ü׼ȷ£¬ËùÓÐԭʼÊý¾ÝÔÚ±»ÉãÈëµ½HadoopÊý¾Ýºþ֮ǰ±ØÐë·ûºÏÒ»¶¨µÄģʽ¡£Èκΰüº¬´íÎó¸ñʽ¡¢È±ÉÙ±ØÐè×ֶλò±»ÊÓΪÓÐÎÊÌâµÄÊý¾Ý¶¼½«±»¹ýÂ˵ô²¢Ð´Èë´íÎó±í¡£

WorkUnitCalculator

Marmaray°´ÕÕÅú´ÎÀ´Òƶ¯Êý¾Ý£¬Åú´Î´óСÊÇ¿ÉÅäµÄ¡£ÎªÁ˼ÆËãÐèÒª´¦ÀíµÄÊý¾ÝÁ¿£¬ÎÒÃÇÒýÈëÁËWorkUnitCalculatorµÄ¸ÅÄî¡£WorkUnitCalculator½«¼ì²éÊäÈëÔ´µÄÀàÐͺÍ֮ǰµÄ¼ì²éµã£¬È»ºó¼ÆËãÏÂÒ»¸ö¹¤×÷µ¥Ôª»òÅú´Î¡£¹¤×÷µ¥Ôª¿ÉÒÔÊÇKafkaµÄÆ«ÒÆ·¶Î§»òHive/HDFSµÄHDFSÎļþ¼¯ºÏ¡£

ÔÚ¼ÆËãÏÂÒ»ÅúÊý¾Ýʱ£¬WorkUnitCalculator»¹¿ÉÒÔÓ¦ÓÃÏÞÁ÷ÐÅÏ¢£¬ÀýÈ磬Ҫ¶ÁÈ¡µÄ×î´óÊý¾ÝÁ¿»òÒª´ÓKafka¶ÁÈ¡µÄÏûÏ¢Êý¡£ÕâЩÏÞÁ÷ÐÅÏ¢¿É¸ù¾Ý¾ßÌåÓÃÀý½øÐÐÁé»îÅäÖ㬴ӶøÈ·±£¹¤×÷µ¥ÔªµÄ´óС²»»áѹ¿åԴϵͳ»ò½ÓÊÕϵͳ¡£

Metadata Manager

ͼ5£ºMarmarayµÄMetadata ManagerÓÃÓÚ´æ´¢ÔËÐÐÖÐ×÷ÒµµÄÏà¹ØÔªÊý¾Ý¡£

ËùÓÐMarmaray×÷Òµ¶¼ÐèÒªÒ»¸ö³Ö¾Ã´æ´¢£¨ÎÒÃdzÆÖ®ÎªMetadata Manager£©À´»º´æ×÷ÒµµÄÔªÊý¾ÝÐÅÏ¢¡£×÷Òµ¿ÉÒÔÔÚÖ´ÐÐÆÚ¼ä¸üÐÂ״̬£¬²¢ÔÚ×÷ÒµÖ´Ðгɹ¦ºóÌæ»»¾É״̬£¬·ñÔò½«ÎÞ·¨ÐÞ¸Ä״̬¡£ÔÚUber£¬ÎÒÃÇʹÓÃMetadata Manager´æ´¢¼ì²éµãÐÅÏ¢£¨»òKafkaµÄ·ÖÇøÆ«ÒÆÁ¿£©¡¢Æ½¾ù¼Ç¼´óСºÍƽ¾ùÏûÏ¢ÊýµÈÔªÊý¾Ý¡£ÔªÊý¾Ý´æ´¢ÊÇͨÓõģ¬¿ÉÒÔ´æ´¢ÈκÎÏà¹ØµÄ¶ÈÁ¿Ö¸±ê£¬ÕâЩ¶ÈÁ¿Ö¸±ê¿ÉÓÃÓÚ¸ù¾ÝÓÃÀýºÍÓû§ÐèÇó¸ú×Ù¡¢ÃèÊö»òÊÕ¼¯×÷ÒµµÄ״̬¡£

ForkOperatorºÍForkFunction

ForkOperatorʹÓÃForkFunction½«ÊäÈëµÄ¼Ç¼Á÷²ð·ÖΪ¶à¸öÊä³öÁ÷£¬²¢ÑéÖ¤·ûºÏģʽµÄ¼Ç¼ºÍ´íÎóµÄ¼Ç¼£¬È»ºó¿ÉÒÔµ¥¶À´¦ÀíÕâЩ¼Ç¼¡£

ͼ6£ºForkOperatorºÍForkFunctionÓÃÓÚ½«Ô­Ê¼Êý¾Ý¼Ç¼²ð·ÖΪ·ûºÏģʽµÄ¼Ç¼ºÍ´íÎóµÄ¼Ç¼¡£

ISourceºÍISink

ISource°üº¬¹¤×÷µ¥ÔªËùÐèµÄÔ´Êý¾ÝÐÅÏ¢£¬ISink°üº¬ÓйØÈçºÎдÈë½ÓÊÕÆ÷µÄ±ØÒªÐÅÏ¢¡£ÀýÈ磬Cassandra½ÓÊÕÆ÷¿ÉÄÜÐèÒª°üº¬¼¯Èº¡¢±í¡¢·ÖÇø¼üºÍ¼¯Èº¼üµÄÐÅÏ¢¡£KafkaÔ´ÐèÒª°üº¬Ö÷ÌâÃû³Æ¡¢Òª¶ÁÈ¡µÄ×î´óÏûÏ¢Êý¡¢Èº¼¯ÐÅÏ¢ºÍÆ«ÒÆÁ¿³õʼ»¯²ßÂÔÒÔ¼°ÆäËûÔªÊý¾ÝÐÅÏ¢¡£

Êý¾ÝÄ£Ðͺ͹¤×÷Á÷

AvroPayloadÊÇMarmaray¼Ü¹¹µÄºËÐÄ×é¼þ£¬ËüÊÇAvro GenericRecord¶þ½øÖƱàÂë¸ñʽµÄ°ü×°Æ÷£¬°üº¬ÁËÐèÒª´¦ÀíµÄÊý¾ÝµÄÔªÊý¾ÝÐÅÏ¢¡£

ͼ7£ºAvroPayloadʹÓÃÔªÊý¾Ý°ü×°GenericRecord¡£

AvroÊý¾Ý£¨GenericRecord£©µÄÖ÷ÒªÓŵãÊÇËüÔÚÄÚ´æ´æ´¢ºÍÍøÂç´«Êä·½Ãæ¶¼ºÜ¸ßЧ£¬ÓëJSONÏà±È£¬¶þ½øÖƱàÂëÊý¾Ýͨ¹ýÏß··¢ËÍÐèÒª¸üСµÄģʽ¿ªÏú¡£ÔÚSpark¼Ü¹¹Ö®ÉÏʹÓÃAvroÊý¾ÝÒâζ×ÅÎÒÃÇ»¹¿ÉÒÔÀûÓÃSparkµÄÊý¾ÝѹËõºÍ¼ÓÃܹ¦ÄÜ¡£ÕâЩÓÅÊÆÓÐÖúÓÚÎÒÃǵÄSpark×÷Òµ¸üÓÐЧµØ´¦Àí´ó¹æÄ£Êý¾Ý¡£

ΪÁËÖ§³ÖÁ¬½ÓÈκÎÊý¾ÝÔ´ºÍÈÎÒâ½ÓÊÕÆ÷µÄ¼Ü¹¹£¬ÎÒÃÇÒªÇóËùÓÐÉãȡԴ½«×ª»»Æ÷¶¨ÒåΪ´Ó×Ô¼ºµÄ¸ñʽµ½Avro£¬ËùÓзÖÉ¢½ÓÊÕÆ÷½«×ª»»Æ÷¶¨ÒåΪ´ÓAvroµ½±¾µØÊý¾ÝÄ£ÐÍ£¨¶ÔÓÚCassandraÀ´Ëµ¾ÍÊÇByteBuffers£©¡£

ÒªÇóËùÓÐת»»Æ÷½«Êý¾Ýת»»ÎªAvroPayload¸ñʽ»ò´ÓAvroPayload¸ñʽת»»ÎªÊý¾ÝΪÐγÉÁËËÉÉ¢ñîºÏµÄÊý¾ÝÄ£ÐÍ¡£ÔÚ¶¨ÒåÁËÊý¾ÝÔ´¼°ÆäÏà¹ØµÄת»»Æ÷ºó£¬¾Í¿ÉÒÔ½«Êý¾Ý·ÖÉ¢µ½ÈκÎÊÜÖ§³ÖµÄ½ÓÊÕÆ÷£¬ÒòΪËùÓнÓÊÕÆ÷¶¼ÊÇÔ´²»¿ÉÖªµÄ£¬ËüÃÇÖ»¹ØÐÄAvroPayload¸ñʽµÄÊý¾Ý¡£ÏÂͼÃè»æÁËMarmarayµÄÊý¾ÝÄ£ÐÍ£º

ͼ8£º¶ÔÓÚÉãÈ¡ºÍ·ÖÉ¢£¬MarmarayÒªÇó½«Êý¾Ýת»»ÎªAvroPayload£¬ÕâÊÇÒ»¸ö»ùÓÚAvroµÄGenericRecord¸ñʽµÄ°ü×°Æ÷¡£

ÏÂͼÃè»æÁËMarmaray×÷ÒµÊÇÈçºÎ¶ÀÁ¢ÓÚÌØ¶¨µÄÊý¾ÝÔ´»ò½ÓÊÕÆ÷½øÐбàÅŵġ£

ͼ9£ºMarmaray¶ÀÁ¢ÓÚÊý¾ÝÔ´»ò½ÓÊÕÆ÷ÔËÐÐÉãÈ¡ºÍ·ÖÉ¢×÷Òµ¡£

ÔÚÕâ¸ö¹ý³ÌÖУ¬Ã¿¸öÊý¾ÝÔ´ºÍ½ÓÊÕÆ÷µÄÊôÐÔÅäÖý«Ö¸Ïò×÷ÒµµÄÏÂÒ»¸ö²½Ö裬°üÀ¨¼ÆËãÐèÒª´¦ÀíµÄÊý¾ÝÁ¿£¨¼´Æä¹¤×÷µ¥Ôª£©¡¢Ó¦ÓÃForkFunction½«Ô­Ê¼Êý¾Ý²ð·ÖΪ¡°ÓÐЧ¡±ºÍ¡°´íÎ󡱼ǼÒÔÈ·±£Êý¾ÝµÄÖÊÁ¿¡¢½«Êý¾Ýת»»ÎªÊʵ±µÄÄ¿±ê¸ñʽ¡¢¸üÐÂÔªÊý¾Ý²¢±¨¸æÖ¸±êÒÔ±ã¸ú×Ù½ø¶È¡£ÔÚUber£¬ËùÓÐMarmaray×÷Òµ¶¼ÔËÐÐÔÚApache SparkÉÏ£¬²¢Ê¹ÓÃYARN×÷Ϊ×ÊÔ´¹ÜÀíÆ÷¡£

×ÔÖú·þÎñƽ̨

ÓÉÓÚÎÒÃǵĺܶàÊý¾Ýƽ̨Óû§²»ÊìϤÎÒÃǵļ¼ÊõÕ»ÖÐËùʹÓõÄÓïÑÔ£¨ÈçPythonºÍJava£©£¬Òò´ËÎÒÃǵÄÍŶӱØÐë¹¹½¨Ò»¸ö×ÔÖú·þÎñƽ̨£¬Óû§Ö»Ðèͨ¹ýÊó±êµã»÷¾Í¿ÉÒÔ½¨Á¢¶Ëµ½¶ËµÄ¹ÜµÀ£¬È·±£À´×ÔËùÐèÔ´µÄÊý¾Ý×îÖÕÄܹ»µ½´ïÄ¿±ê½ÓÊÕÆ÷£¬ÒÔ±ã½øÐкóÐøµÄ·ÖÎö¹¤×÷ºÍ²éѯ¡£

ͼ10£ºÎÒÃǵÄ×ÔÖú·þÎñUIÈÃÊý¾Ý¿ÆÑ§¼ÒºÍÆäËûÓû§Äܹ»½«Êý¾Ý´ÓÈκÎÔ´ÒÆ¶¯µ½ÈκνÓÊÕÆ÷£¬¶øÎÞÐèÁ˽âÌØ¶¨µÄÊý¾Ý¸ñʽ¡£

ÔÚÉÏÏßÖ®ºóµÄÆß¸öÔÂʱ¼äÀÒѾ­Óг¬¹ý3300¸ö×÷ҵͨ¹ýÎÒÃǵÄ×ÔÖú·þÎñƽ̨¼ÓÈëµ½ÎÒÃǵÄϵͳÖС£

Êý¾Ýɾ³ý

ÔÚUber£¬ËùÓеÄKafkaÊý¾Ý¶¼ÊÇÒÔ×·¼ÓµÄ·½Ê½½øÐд洢£¬²¢Ê¹ÓÃÁËÈÕÆÚ·ÖÇø¡£Óû§Êý¾Ý¿ÉÒÔ¿çÔ½¶à¸öÈÕÆÚ·ÖÇø£¬²¢ÇÒÿ¸ö·ÖÇøÍ¨³£»á°üº¬ºÜ¶àKafka¼Ç¼¡£Èç¹ûµ×²ã´æ´¢Ã»ÓÐÄÚÖõÄË÷ÒýºÍ¸üÐÂÖ§³Ö£¬ÄÇôɨÃèºÍ¸üÐÂÕâЩ·ÖÇøÒÔ±ã½øÐÐÓû§Êý¾ÝµÄ¸üÕý¡¢¸üлòɾ¿ÉÄÜ»á·Ç³£ºÄ·Ñ×ÊÔ´¡£HadoopʹÓõÄParquetÊý¾Ý´æ´¢²»Ö§³ÖË÷Òý£¬ËùÒÔÎÒÃǸù±¾ÎÞ·¨Ö±½Ó¸üÐÂParquetÎļþ¡£ÎªÁ˱ãÓÚË÷ÒýºÍ¸üУ¬MarmarayʹÓÃÁËHadoop UpdatesºÍIncremental£¨Hudi£©£¬Uber¿ª·¢µÄÁíÒ»¸ö¿ªÔ´¿â£¬ÓÃÓÚ¹ÜÀí´óÐÍ·ÖÎöÊý¾Ý¼¯µÄ´æ´¢£¬½«Ô­Ê¼Êý¾Ý´æ´¢ÔÚHiveÖС£

Êý¾ÝÉú²úÕßʹÓÃHiveÀ´É¨ÃèÊý¾Ý±í£¬Ê¶±ðҪɾ³ýµÄ¼Ç¼£¬²¢½«ËüÃÇ·¢²¼µ½Kafka¼¯Èº¡£MarmarayµÄKafkaÉãÈ¡¹ÜµÀÒÀ´Î´ÓKafka¼¯ÈºÖжÁÈ¡ËüÃÇ¡£È»ºó£¬MarmarayʹÓÃHudiµÄÅúÁ¿²åÈ빦ÄÜÉãȡмǼ£¬±£³Ö½ÏµÍµÄÉãÈ¡ÑÓ³Ù£¬²¢Ê¹ÓÃHudiµÄupsert¹¦ÄÜ´¦Àí¸üеļǼ£¬½«KafkaµÄ¾É¼ÇÂ¼Ìæ»»Îª¸üйýµÄÊý¾Ý¡£

ͼ11£ºMarmarayÀûÓÃHudi´æ´¢¸ñʽÀ´Ö§³ÖÊý¾Ýɾ³ý¡£

MarmarayµÄÏÂÒ»¸öƪÕÂ

Marmaray¶ÔÈÎÒâÔ´µ½ÈÎÒâ½ÓÊÕÆ÷Êý¾Ý¹ÜµÀµÄÖ§³ÖÊÊÓÃÓÚHadoopÉú̬ϵͳ£¨Ö÷ÒªÕë¶ÔʹÓÃÁËHiveµÄ³¡¾°£©ÒÔ¼°Êý¾ÝÇ¨ÒÆµÄ¸÷ÖÖÓÃÀý¡£ÎÒÃÇÒѾ­Ïò¿ªÔ´ÉçÇø·¢²¼ÁËMarmary£¬²¢ÆÚ´ýÊÕµ½¸ü¶à·´À¡£¬È»ºó²»¶Ï¸Ä½øMarmarayƽ̨¡£Óë´Ëͬʱ£¬ÎÒÃÇÕýÔÚÆúÓô«Í³¹ÜµÀ£¬²¢½«ÎÒÃÇËùÓеŤ×÷Á÷³ÌÇ¨ÒÆµ½Marmarayƽ̨ÉÏ£¬ÒÔ¼ò»¯ÎÒÃǵÄÕûÌåÊý¾Ý¼Ü¹¹£¬²¢È·±£Ëæ×ÅÊý¾ÝÐèÇóµÄÔö³¤£¬ÎÒÃÇÄܹ»ÇáËɵØÀ©Õ¹¡£

Marmaray GitHubµØÖ·

   
1806 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ