±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚinfoq£¬±¾ÎÄÖ÷Òª½éÉÜÁËËÕÄþ·Ö²¼Ê½Î¢·þÎñ¼Ü¹¹ÔÚ´óÐÍÆóÒµÓ¦Óý¨É裬ϣÍû¶ÔÄúµÄѧϰÓаïÖú¡£ |
|
ÏîÄ¿±³¾°
¶ÔÕËÆ½Ì¨¼ò½é
ʱÖÁ½ñÈÕ£¬·Ö²¼Ê½Î¢·þÎñ¼Ü¹¹ÔÚ´óÐÍÆóÒµÓ¦Óý¨ÉèÖÐÒѾµÃµ½ÆÕ±éʹÓá£ÆóÒµÄÚ²¿£¬Ëæ×Ÿ÷·þÎñ×ÓϵͳµÄ²ð·Ö£¬ÒµÎñÊý¾ÝµÄ´¦ÀíÁ´Â·Ò²Ô½À´Ô½³¤£¬Ò»ÌõÊý¾Ý´Ó×îÉÏÓÎÒµÎñϵͳ²úÉúµ½×îÏÂÓÎÏû·ÑϵͳʹÓÃÍùÍùÐèÒª¾ÀúÊý¸öÉõÖÁÊ®¼¸¸ö´óС²»Ò»¡¢×÷Óò»Í¬µÄ·þÎñ×Óϵͳ£»ÆóÒµ¶ÔÍ⣬ºÍÍⲿϵͳÀýÈçÒøÐС¢µÚÈý·½½Ó¿ÚµÄÊý¾ÝÍÌÍÂÒ²Ô½À´Ô½¶à£¬µäÐ͵ÄÀýÈçתÕËÖ§¸¶½»Ò׼ǼºË¶Ô¡£Òò´Ë£¬¶ÔÓÚ¶à·½Á÷ת¹²ÓõÄÊý¾Ý½øÐбȽϺ˶ԡ¢¼°Ê±·¢ÏÖ²î´íÒÅ©»òÖØ¸´ÕâÖÖÐèÇó¾ÍÈÕÒæÔö¶à¡£×ñѱÜÃâÖØ¸´¿ª·¢¡¢³éÏó¹²Í¨¹æÔò¡¢½¨ÉèרְϵͳµÄ˼·£¬ËÕÄþÄÚ²¿ºÜÔç¾Í¿ª·¢ÊµÊ©ÁËÒ»Ì×Êý¾Ý¶ÔÕË¿ª·Åƽ̨£¨ÒÔϼò³ÆÎª¡°¶ÔÕËÆ½Ì¨¡±£©²¢µÃµ½Á¼ºÃÓ¦Óã¬Ö÷Ìå¼Ü¹¹¼°Êý¾Ý´¦Àí¹ý³ÌÈçϼòͼ¡£
ÎÊÌâÌá³öÓë½â¾ö˼·
Ëæ×ż¯ÍŴ󿪷¢Õ½ÂÔ¿ìËÙÍÆ½ø£¬ÒµÎñÊý¾ÝÁ¿³ÊÏÖ±¬·¢Ê½Ôö³¤Ì¬ÊÆ£¬Ô¶ÔÕËÆ½Ì¨ÒÑÖð½¥²»ÄÜÂú×ãʹÓã¬Ö÷Òª±íÏÖΪÇåÏ´ÓëºË¶Ô¼ÆËãËٶȽÏÂý¡¢ÕûÌå¼Ü¹¹ÄÑÒÔÀ©Õ¹£¬ÏÞÖÆÁ˽ÓÈëÒµÎñϵͳµÄÊýÁ¿ºÍÊý¾Ý¹æÄ£¡£Òò´Ë£¬¶ÔÕËÆ½Ì¨Éý¼¶¸ÄÔìÏîĿӦÔ˶øÉú¡£
Õë¶ÔÔ¶ÔÕËÆ½Ì¨µÄÎÊÌâ½øÐзÖÎö£¬²»ÄÑ·¢ÏÖ£¬²»¾ß±¸Á¼ºÃˮƽÀ©Õ¹ÐÔÊÇÆä×î¹Ø¼üµÄÍ´µã£¬Ö÷ÒªÌåÏÖÖ®Ò»±ãÊǺ˶ԼÆËãµÄÊý¾Ý¿â´æ´¢¹ý³ÌÐÔÄܲ»ÄÜͨ¹ýÀ©´óÊý¾Ý¿â¼¯ÈºµÈ·½·¨À´ÊµÏÖ½üÏßÐÔÀ©Õ¹¡£Æä´Î£¬Í´µãÖ®¶þÊǼÆËã´¦Àí¹ý³ÌÖдÅÅÌ
IO ²Ù×÷ÒÀÀµ½ÏÖØ£¬ºË¶Ô¼ÆËã´æ´¢¹ý³ÌÖ´Ðйý³ÌÖÐÐèҪƵ·±É¨Ãè´ÅÅÌÊý¾Ý£¬µ¼ÖÂÐÔÄܽϲΪ½â¾öÕâЩÎÊÌ⣬ÎÒÃÇÊ×ÏÈÈ·¶¨Éý¼¶¸Ä½øµÄ´ó·½Ïò£¬¼´Ê¹Ó÷ֲ¼Ê½¼ÆËã¼Ü¹¹´úÌæÊý¾Ý¿â´æ´¢¹ý³Ì¼¯ÖмÆËã¼Ü¹¹£¬²¢¾¹ý¶à´ÎµØµ÷ÑжԱȣ¬×îÖÕ²ÉÓÃ
Apache Ignite ƽ̨×÷Ϊ±¾´ÎÉý¼¶¸Ä½øµÄÖ÷Òª¼¼ÊõÑ¡ÐÍ¡£
»ùÓÚ Ignite µÄÉý¼¶·½°¸Òªµã
ÔªÊý¾Ý½á¹¹£º¶þ½øÖƱà×éÆ÷
ÓÉÓÚÒµÎñϵͳ¶¯Ì¬½ÓÈ룬¶ÔÕËÆ½Ì¨ÔÚÉè¼Æ¿ª·¢½×¶ÎÎÞ·¨Ô¤Öª½ÓÈë·½µÄÊý¾Ý¸ñʽ£¬¼´Êý¾Ý½á¹¹ÓµÓÐÄÄЩ×ֶΡ¢·Ö±ðΪʲôÀàÐÍ¡£ÕâЩԪÊý¾Ý½á¹¹¶¼ÊÇÔÚϵͳÉÏÏßÔËÐйý³ÌÖÐÓɶÔÕ˹ÜÀíÔ±´´½¨¶ÔÕ˼ƻ®Ê±ÅäÖã¬Òò´Ë¶ÔÕËÆ½Ì¨±ØÐëÖ§³ÖÔªÊý¾Ý¹ÜÀí£¬²¢ÇÒÔÚÊý¾Ý´¦Àí¹ý³ÌÖÐʹÓÃÔªÊý¾Ý×÷ΪÊý¾Ýģʽ£¨Schema£©¡£
¶ÔÕËÆ½Ì¨ÔÏȵĽâ¾ö·½°¸Îª£º½«Óû§ÅäÖõÄÊý¾Ýģʽ×Ö¶ÎÐÅÏ¢´æ´¢ÎªÊý¾Ý¿âÖеĽṹ»¯Êý¾Ý£¬ÀàËÆÓÚ¹ØÏµÐÍÊý¾Ý¿âÖеÄϵͳ±íÈç
MySQL ÖÐµÄ information_schema.COLUMNS£¬¶ÔÕËÆ½Ì¨Ê¹Óø³Óè DDL ȨÏÞµÄÕ˺ÅÁ¬½ÓÊý¾Ý¿â£¬¸ù¾ÝÅäÖÃ×Ö¶ÎÐÅÏ¢Éú³É½¨±íÓï¾ä£¬¸ù¾ÝÅäÖõÄÊý¾ÝÇåÏ´¡¢ºË¶Ô¹æÔòÉú³É¼ÆËã´æ´¢¹ý³Ì½Å±¾£¬ÔÙÖ´ÐÐÕâЩÓï¾ä½Å±¾ÒÔʵÏÖÔËÐÐʱԪÊý¾ÝÅäÖõÄÖ§³Ö¡£ÕâÖÖ·½°¸ÓŵãÊÇʵÏÖÏà¶Ô¼òµ¥ÈÝÒ×£¬µ«ÊÇȱµãÒ²ºÜÃ÷ÏÔ£º
µÚÒ»Ó¦ÓóÌÐòʹÓõÄÊý¾Ý¿âÕË»§È¨Ï޽ϸߣ»
µÚ¶þ¹ØÏµÐÍÊý¾Ý¿âµÄÐд淽ʽµ¼ÖÂֻȡÓÃÉÙÊýÁÐʱÐÔÄܲ»¹»ÀíÏ룻
µÚÈýʹÓô洢¹ý³ÌÍê³ÉÊý¾Ý´¦Àí¼ÆËã²»ÀûÓÚºáÏòÀ©Õ¹¡£
¶Ô´Ë£¬Ð·½°¸²ÉÓà Ignite ÖеĶþ½øÖƱà×éÆ÷£¨Binary Marshaller£©À´Âú×ãÊý¾Ý´¦Àí¹ý³ÌÖеÄÔªÊý¾ÝÖ§³ÖÐèÇó¡£Ignite
µÄ¶þ½øÖƱà×éÆ÷ÊÇÒ»ÖÖеÄÐòÁл¯ / ·´ÐòÁл¯¸ñʽ£¬Ëü¿ÉÒÔʵÏÖÊý¾Ý¶ÔÏóÖµ¡¢ÔªÊý¾ÝµÄ¶¯Ì¬´¦Àí£¬ËüÌṩÁËÒÔϼ¸¸öÌØÐÔ£º
ÔÊÐíÖ»·ÃÎÊÊý¾Ý¶ÔÏóµÄ²¿·ÖÊôÐÔ¶ø²»Ó÷´ÐòÁл¯Õû¸ö¶ÔÏó¡£
ÔÊÐíÔËÐÐʱ¶¯Ì¬Ìí¼Ó»òÕßɾ³ý¶ÔÏó×ֶζø²»ÐèÒª¹Ì¶¨µÄÊý¾ÝÄ£ÐÍÀࣨModel£©¡£
ÔÊÐí»ùÓÚÀàÐÍÃû³Æ´´½¨Ð¶ÔÏó¶ø²»ÐèÒªÊý¾ÝÄ£ÐÍÀඨÒå¡£
ÕâÑùÒ»À´£¬Í¨¹ýÒÔÉϼ¸µã£¬ÔÚ²»Ö±½Ó²Ù×÷ʹÓà CGlib¡¢javassist Ö®Àද̬×Ö½ÚÂëÉú³É¼¼ÊõµÄÇé¿öÏ£¬Ð·½°¸¿ÉÒÔÂú×㶯̬ԪÊý¾ÝÅäÖü°Ê¹ÓõÄÐèÇó¡£²¢ÇÒ£¬ÓÉÓÚÒµÎñϵͳÔʼÊý¾Ý¿ÉÄÜ×ֶζà´ïÉϰٸö¶øÕæÕýÐèÒª¶ÔÕË´¦ÀíʹÓõĿÉÄܽöÊ®¶à¸ö£¬»ùÓÚÉÏÊöµÚÒ»ÌõÌØÐÔ£¬ÔÚºóÃæµÄÊý¾Ý´¦Àí¼ÆËã¹ý³ÌÖУ¬±¾·½°¸½ÏÔ·½°¸Ïà±ÈЧÂÊÉÏÓкܴóÌáÉý¡£
Êý¾Ý½ÓÈ룺¿ç½Úµã ExecutorService Óë·Ö²¼Ê½Äڴ滺´æ
ÒµÎñϵͳÔʼÊý¾Ý½ÓÈëÊÇÕû¸ö´¦Àí¹ý³ÌÖеĵÚÒ»²½¡£ÓÉÓÚ¸÷ÒµÎñϵͳ½¨ÉèʱÆÚ¡¢¼¼Êõ¼Ü¹¹´ó¶à´æÔÚ²îÒ죬Òò´Ë×î³õÓë¸÷ÒµÎñϵͳÐÉÌ´ï³ÉÒ»Ö£¬²ÉÓÃÒµÎñϵͳÉú³ÉÎı¾¸ñʽÊý¾ÝÎļþ´«Êäµ½¹«¹²
FTP ·þÎñÆ÷µÄ·½Ê½À´ÊµÏÖÊý¾Ý½ÓÈ룬¶ÔÕËÆ½Ì¨°´ÕÕÉ趨ºÃµÄ¶¨Ê±µ÷¶ÈÈÎÎñÇý¶¯£¬²éѯÊý¾Ý¿â»ñÈ¡´¦ÓÚ¡°½âÎöÊý¾ÝÎļþ¡±»·½Ú¡°´ý´¦Àí¡±×´Ì¬µÄ¶ÔÕËÈÎÎñ£¬¸ù¾Ý»ñÈ¡µ½µÄ½á¹ûÊý¾Ý·ÃÎÊ
FTP ¼ì²é²¢»ñÈ¡ËùÐèµÄÊý¾ÝÎļþ£¬ÔÙ¸ù¾ÝÓû§ÊÂÏÈÅäÖúõÄÊý¾ÝÄ£°åÀ´½âÎöÊý¾ÝÎļþ²¢³Ö¾Ã»¯Èë¿âµÈ´ýºóÐø´¦Àí¡£
ÓÉÓÚ²ÉÓÃÁËËÕÄþÄÚ²¿µÄ¼¯Öж¨Ê±µ÷¶È¼Ü¹¹£¬¶ÔÕËÆ½Ì¨¼¯Èº×÷Ϊ¶¨Ê±µ÷¶ÈÈÎÎñƽ̨µÄ¿Í»§¶Ë£¬Ã¿´Î´¥·¢Æ÷Ö»»á½«µ÷¶ÈÔËÐÐÖ¸ÁîÏ·¢µ½¶ÔÕËÆ½Ì¨¼¯ÈºÉϵÄijһ¸ö½ÚµãÀ´Æô¶¯½âÎöÊý¾ÝÎļþÈë¿âµÄÈÎÎñ¡£
Ô·½°¸µ÷¶È½âÎöÈÎÎñ
ÔÚÒµÎñϵͳÊý¾ÝÁ¿Ò»°ãµÄÇé¿öÏ£¬µ¥½Úµã½âÎö´¦ÀíÉÐÄÜÂú×ãÐèÇ󣬵«Ëæ×Ÿü¶à²ÆÎñÏà¹ØÒµÎñϵͳ½ÓÈ룬²ÆÎñÒµÎñϵͳÿ¸ö¶ÔÕËÖÜÆÚÄÚµÄÊý¾ÝÁ¿½Ï´ó¡¢¶Ô½âÎö´¦ÀíʱÏÞÒªÇó½Ï¸ß£¬µ¥½Úµã½âÎö´¦ÀíÒѲ»ÄÜÖ§³ÅÆäÐèÇó¡£²¢ÇÒµ¥½ÚµãÖ´ÐÐÈÎÎñÕâÖÖģʽÏÔȻûÓгä·ÖÀûÓÃÕû¸ö¼¯ÈºµÄ¼ÆËã×ÊÔ´£¬ÈÝÒ×Ôì³Éij½Úµã¸ººÉ¹ýÖØ¶øÆäËü½ÚµãÈ´±È½Ï¿ÕÏеÄÇé¿ö¡£¼øÓÚ´Ë£¬Éè·¨¸Ä½øÈÎÎñÖ´Ðз½Ê½£¬µ÷Óöà½Úµã²¢ÐÐÖ´ÐÐͬһ¸öÈÎÎñ£¬¼ÈÄܸÄÉÆµ¥¸öÈÎÎñµÄÖ´ÐÐЧÂÊ£¬ÓÖÄÜ·Ö̯ÈÎÎñÖ´ÐÐѹÁ¦¡£
Ignite ¼ÆËãÍø¸ñÖеķֲ¼Ê½ ExecutorService ÄÜÁ¦ÕýÊǷdz£ÊʺϵĽâ¾ö·½°¸¡£ËüʵÏÖÁË
JDK ±ê×¼µÄ ExecutorService ½Ó¿Ú£¬Òò´ËÔÀ´µ¥½Úµã´´½¨Ìá½»ÈÎÎñÂß¼´úÂ뼸ºõ²»ÓøĶ¯¼´¿ÉÔÚÐµķ½°¸ÖмÌÐøÊ¹Óã¬Ö»ÊÇÏ̳߳ØÓÉÔÀ´µÄµ¥½Úµã
JVM ½ø³ÌÄÚ±ä³ÉÁËÕû¸ö¼¯Èº»¯¿ç½Úµã£¬±¾ÖÊÉÏÊÇÓÉ Ignite ½«Ä³½ÚµãÌá½»µÄ¼ÆËã³ÌÐò±Õ°üÐòÁл¯ºó·¢Ë͵½·ÖÅäµÄ½ÚµãÉÏ·´ÐòÁл¯Ö´ÐУ¨Èçͼ£©¡£ÕâÑù£¬½âÎöÊý¾ÝÎļþÈë¿âµÄÈÎÎñ¿ÉÒÔʵÏÖ·Ö²¼Ìá½»¡¢·Ö²¼Ö´ÐУ¬¿ìËÙʵÏÖÁ˼¯Èº²¢Ðл¯£¬²¢×Ô¶¯»ñµÃÁËÈÎÎñ¸ºÔؾùºâ¡¢¹ÊÕÏ×Ô¶¯×ªÒƵÄÌØÐÔ¡£
з½°¸µ÷¶È½âÎöÈÎÎñ
ÔÚµ÷Óü¯Èº¶à½Úµã²¢ÐмÓÔØÊý¾Ýʱ£¬½«Êý¾Ý¼ÓÔØµ½ºÎ´¦Ò²ÊÇÐèÒª¿¼ÂǵÄÎÊÌâ¡£Ô½â¾ö·½°¸½«½âÎöºóµÄÔʼÊý¾ÝÒÔ
JDBC batch ²Ù×÷·½Ê½Ö±½Ó´æÈë¹ØÏµÐÍÊý¾Ý¿â£¬ºóÐøµÄºË¶Ô¹ý³ÌÒ²ÔÚÊý¾Ý¿âÖÐÍê³É¡£Ð·½°¸Ôò²ÉÓà Ignite
ºËÐÄÒ²ÊÇ×îÇ¿¾¢µÄÌØÐÔ¡°·Ö²¼Ê½Êý¾ÝÍø¸ñ¡±×÷ΪÊý¾ÝÖ÷¹¤×÷´æ´¢¡£Ö÷ÒªÒÀ¾ÝÆäÓÐÒÔÏÂÖØÒªÌØµã£º
·Ö²¼Ê½¡£Ignite Êý¾ÝÍø¸ñÒ»¶¨³Ì¶ÈÉÏºÍ HDFS ±È½ÏÏàËÆ£¬Á½Õß¾ùÖ§³ÖÊý¾Ý·ÖƬ´æ´¢¡¢¶à¸±±¾±¸·ÝÒÔʵÏÖÊý¾Ý
°²È«¡£µ«²»Í¬µÄÊÇ£¬Ignite Ö§³ÖÊý¾ÝµÄ¸üÐÂÓëɾ³ý£¬²¢ÇÒÖ§³ÖÊÂÎñ¡£ÀíÂÛÉÏ£¬²ÉÓ÷ÖÇøÄ£Ê½µÄ Ignite
Êý¾ÝÍø¸ñ¿ÉÒÔÇáËɵØÍ¨¹ýÔö¼Ó¼¯Èº½Úµã·½Ê½½øÐÐˮƽÀ©Õ¹£¬´Ó¶øÖ§³Ö TB ¼¶µÄÄÚ´æÊý¾Ý´æ´¢¡£
SQL Ö§³Ö¡£Ignite Êý¾ÝÍø¸ñ×Ô´ø SQL ÒýÇæ£¬²¢Ö§³Ö JDBC Çý¶¯£¬¿ÉÒÔͨ¹ý±ê×¼µÄ JDBC
·½Ê½½øÐÐ DDL¡¢DML ²Ù×÷£¬¼«´óµØ½µµÍÁ˱à³Ì¿ª·¢ÄѶȺÍʹÓÃÃż÷¡£
Ë÷ÒýÖ§³Ö¡£IgniteSQL Íø¸ñÖ§³ÖË÷Òý¡£¶ÔÓÚ SQL ÖÐÉùÃ÷´´½¨µÄÿһ¸öË÷Òý£¬Ignite ¶¼»á²ÉÓÃÒ»¿ÅרÓÃ
B+ Ê÷µÄÊý¾Ý½á¹¹À´¹ÜÀí»º´æÊý¾Ý¡£Í¨¹ýË÷ÒýÌØµã£¬Ignite Äܹ»½øÒ»²½Ìá¸ßÊý¾Ý²éѯ¼ìË÷ЧÂÊÒÔÂú×ã¸ü¸ßÏìӦʱ¼äÒªÇó¡£
Ö§³Öͨ¶Áͨд¡£ÄÚ´æ±Ï¾¹²»Êdz־û¯£¬Êý¾Ý×îÖÕ»¹ÊÇÐèÒªÂäµ½ÖîÈç¹ØÏµÐÍÊý¾Ý¿âµÄ³Ö¾Ã»¯´æ´¢ÖÐÈ¥¡£Í¨¹ýÅäÖÃͨ¶Á¡¢ºóд»º´æ£¬Ð·½°¸Í¬ÑùʵÏÖÊý¾Ýµ½³Ö¾Ã»¯´æ´¢ÖеÄÅúÁ¿²Ù×÷¡£
Ignite ·Ö²¼Ê½Êý¾ÝÍø¸ñ£¨¹Ù·½Í¼£©
Ô¤´¦ÀíÇåÏ´£º¹æÔòÁ´·â×°Óë StreamReceiver
´¦ÀíÍêÔʼÊý¾ÝµÄ½ÓÈ룬½ÓÏÂÀ´¹Ø¼üÊǸ÷ÖÖÊý¾Ý´¦Àí¹æÔòÀ´¶ÔÊý¾Ý½øÐмӹ¤¼ÆË㣬¿ÉÒÔ˵ÕâÊǶÔÕËÆ½Ì¨×îÖØÒª×ÔӵĻ·½ÚÖ®Ò»¡£ÓÉÓÚ½ÓÈëµÄÒµÎñϵͳ֮¼ä²îÒìºÜ´ó£¬Êý¾ÝÖÊÁ¿²Î²î²»Æë£¬²¢ÇÒÊý¾Ý±È¶ÔÂ߼Ҳǧ²îÍò±ð£¬Òò´Ë¶ÔÕËÆ½Ì¨ÎÞ·¨°´ÕÕ¿ª·¢×¨ÓóÌÐòµÄ·½Ê½À´Õë¶Ôÿһ¸ö½ÓÈëÒµÎñϵͳ½øÐж¨ÖÆ£¬¶ø±ØÐëÖ§³ÖÓû§Áé»îÅäÖø÷ÖÖ¹æÔò¡£¸ù¾ÝÒµÎñÊáÀí£¬Ö÷ÒªµÄÇåÏ´¹æÔò·ÖΪÁ½Àࣺ
µ¥ÐÐÄÚÇåÏ´£¬°üÀ¨£º
Ìõ¼þɸѡ£ºÅжÏÊÇ·ñ·ûºÏÉ趨Ìõ¼þÒÔ¾ö¶¨ÊÇ·ñ¼ÌÐø½øÐкóÐøÇåÏ´¡£ÀýÈ磬¶ÔÓÚ¡°½»Ò×ÀàÐÍ¡±µÈÓÚ A µÄÊý¾Ý¼ÌÐø±¾×鹿ÔòºóÐø´¦Àí£»
Îı¾½ØÈ¡£ºÖ¸¶¨Îı¾×Ö¶ÎÎÞÌõ¼þ»òÂú×ãÉ趨Ìõ¼þʱÕý / ·´Ïò½ØÈ¡Ìض¨ÆðֹλÖÃ×Ó´®¡£ÀýÈ磬µ±¡°¶©µ¥ÀàÐÍ¡±×ֶεÚ
1~2 λµÈÓÚ¡°XS¡±Ê±ÕýÏò½ØÈ¡¡°±¸×¢¡±×Ö¶ÎµÚ 8~10 λÉèÖõ½×ֶΡ°Ô¤Áô 1¡±ÖУ»
µ¥Ðжà¸öÎı¾×Ö¶ÎÆ´½Ó£º½«Ö¸¶¨µÄ¶à¸öÎı¾×Ö¶ÎÄÚÈÝÁ¬½Ó³ÉÐÂ×Ö·û´®¡£ÀýÈ磬½«¡°½»Ò×ÈÕÆÚ¡±¡¢¡°Á÷Ë®ºÅ¡±¡¢¡°Ö§¸¶·½Ê½¡±Æ´½ÓÉèÖõ½×ֶΡ°Ô¤Áô
2¡±ÖУ»
Êý×Ö×Ö¶ÎÔËË㣺µ¥¸ö»ò¶à¸öÊý×ÖÀàÐÍ×Ö¶ÎÖµ½øÐбí´ïʽËÄÔòÔËËã¡£ÀýÈ磬½«±í´ïʽ¡°µ¥¼Û *(ÏúÊÛÊýÁ¿ -
Í˵¥ÊýÁ¿)/10000.0¡±µÄ¼ÆËã½á¹û´æÈë×ֶΡ°Ô¤Áô 3¡±ÖУ»
×Ö¶ÎÉèÖµ£º¸ù¾Ýij×Ö¶ÎÌõ¼þ½«ÁíÒ»×Ö¶ÎÉèÖÃΪָ¶¨Öµ¡£ÀýÈ磬µ±¡°Ãŵê´úÂ롱°üº¬¡°NJ¡±Ê±½«¡°µØÇø¡±ÉèÖÃΪ¡°ÄϾ©¡±£»
ɸѡ¹ýÂË£ºÅׯú·ûºÏÉ趨Ìõ¼þµÄÊý¾ÝÐС£ÀýÈ磬µ±¡°±¸×¢¡±×ֶΰüº¬¡°Öظ´Ïµ¥¡±Ê±¸ÃÌõÊý¾Ý²»²ÎÓëºóÐø´¦Àí¼°ºË¶Ô£»
µÈµÈ£»
¶àÐмäÇåÏ´£¬°üÀ¨£º
·Ö×é»ã×Ü£º¸ù¾ÝÖ¸¶¨µÄ·Ö×é×Ö¶ÎÀÛ¼ÓÉ趨µÄ»ã×Ü×ֶΡ£ÀýÈ磬½«¡°½»Ò×µ¥ºÅ¡±¡¢¡°É̼ҴúÂ롱ÏàͬµÄÊý¾ÝÐлã×ÜÆä¡°¶©µ¥½ð¶î¡±¡¢¡°ÉÌÆ·ÊýÁ¿¡±£»
·Ö×éÅÅÖØ£º¸ù¾ÝÖ¸¶¨µÄ·Ö×é×Ö¶ÎÅÅÖØÖ»±£ÁôÒ»ÐС£ÀýÈ磬¸ù¾Ý¡°Æ¾Ö¤ºÅ¡±¡¢¡°Á÷Ë®ºÅ¡±·Ö×飬ֻ±£ÁôÒ»ÌõÊý¾Ý½øÐкóÐø´¦Àí¡£
ÓÉÉϿɼû£¬Êý¾ÝÇåÏ´¹æÔò×éºÏ¶à±ä£¬Ã¿¸öÇåÏ´¹æÔò×éÖпÉÒÔ°üº¬¶à¸ö¾ßÌåÇåÏ´¹æÔò£¬¶à¸öÇåÏ´¹æÔò×éÖ®¼ä»¹´æÔÚ˳Áª¹ØÏµ£¬¿ÉÒÔ¿´×öÒ»¸ö
ETL ¹ý³Ì£¬ÕûÌ廹ÊDZȽϸ´Ôӵġ£
¶Ô´Ë£¬¶ÔÕËÆ½Ì¨Ô·½°¸É趨Á˲»¿É¸ü¸ÄµÄ¹æÔòÓÅÏȼ¶£¬Ç¿ÖƵ¥ÐÐÌõ¼þɸѡ¹æÔò×îÏÈ´¦Àí¡¢¶àÐÐÇåÏ´¹æÔò×îºó´¦Àí¡¢ÆäËü¹æÔò°´ÅäÖõÄÏȺó˳Ðò´¦Àí£¬¾ßÌåʵÏÖ²ÉÓÃÊý¾ÝÎļþ½âÎöÑ»·ÖÐÍê³Éµ¥ÐÐÇåÏ´¹æÔò´¦Àí¡¢¶¯Ì¬Éú³É´æ´¢¹ý³ÌÍê³É¶àÐмäÇåÏ´¹æÔò´¦ÀíµÄ°ì·¨¡£´Ë·½°¸¶ÔÓÚ´ó¶àÊýÒ»°ãÐèÇóÒÑ¿ÉÒÔÂú×㣬µ«Ò²¿ÉÒÔ¿´³ö£¬Ç¿ÖÆÓÅÏȼ¶²»ÄÜÂú×㸴ÔÓÐèÇó£¬ÀýÈçÏÈÌõ¼þɸѡºóÎı¾½ØÈ¡¡¢¸ù¾Ý½ØÈ¡½á¹ûÔÙÌõ¼þɸѡµÄ³¡¾°£»½«¡°Êý¾ÝÇåÏ´¡±¹ý³Ì¸îÁÑΪµ¥ÐС¢¶àÐÐÁ½²¿·Ö·ÖɢʵÏÖ£¬Ò²²»ÀûÓÚÀ©Õ¹¼°Î¬»¤¡£
з½°¸ÔòÊ×ÏȶÔÇåÏ´¹æÔò½øÐгéÏ󣬽«¸÷¾ßÌ广ÔòµØÎ»Æ½µÈ»¯£¬ÊÓ×÷¶ÔÿÐÐÊý¾ÝµÄ²»Í¬¼ÆËã´¦Àí£¬¶à¸ö¾ßÌåÇåÏ´¹æÔò°´ÕÕÅäÖõÄÏȺó˳Ðò×é³ÉÒ»Ìõ´¦ÀíÁ´£¬¶àÌõ´¦ÀíÁ´ÐγÉÒ»¸öÊý¾Ý´¦Àí¹ÜµÀ£¨Èçͼ£©¡£
Ô¤´¦Àí¼Ó¹¤¼ÆËã³éÏóʾÒâ
ÏÔ¶øÒ×¼û£¬¸ÃÄ£ÐÍ·ûºÏÁ÷´¦ÀíÌØµã£¬½áºÏǰÊöµÄÊý¾ÝÎļþ½âÎö²½Ö裬·Ç³£ÊʺÏʹÓà Ignite µÄÊý¾Ý×¢ÈëºÍÁ÷´¦ÀíÌØÐÔ¡£Í¨¹ý
IgniteDataStreamerAPI£¬¶ÔÕËÆ½Ì¨¿ÉÒÔ³ÖÐø¸ßЧµØ×¢ÈëÊý¾Ý£¬²¢ÇÒͨ¹ý StreamReceiver
½«ÇåÏ´¹æÔò¹ÜµÀ°üº¬ÔÚÆäÖжÔÊý¾Ý½øÐд¦Àí¡£»ùÓÚ¸÷½Úµã²¢ÐеÄÊý¾Ý½âÎö×¢ÈëÈÎÎñ£¬StreamReceiver
ºÜÈÝÒ×ʵÏÖ´ó¹æÄ£µÄ¸ßЧµ¥ÐÐÊý¾Ý¼ÆËã´¦Àí£¬ÀàËÆ Spark ÖÐ RDD µÄ Map Ëã×Ó²Ù×÷£¬µ«Óë Spark
Map Ëã×Ó²Ù×÷²»Í¬µÄÊÇ£¬Ignite StreamReceiver Êý¾Ý´¦Àí process ·½·¨µÄÈë²ÎÊǿɱäµÄÊý¾ÝʵÌ壬¿ª·¢ÈËÔ±¿ÉÒÔÔÚ¼ÆËã¹ý³ÌÖÐÖ±½Ó¸Ä±äÊý¾ÝʵÌåµÄÖµ£¨ÀýÈç¶Ôij×ֶεÄÖµ½øÐнØÈ¡²¢¸üУ©£¬ÓÉ
Ignite ±¾Éí¶ÔÊý¾ÝʵÌå½øÐв¢·¢Ëø°²È«¿ØÖÆ£»¶ø Spark Map Ëã×Ó·½·¨Èë²ÎÊDz»¿É±äµÄÊý¾Ý¶ÔÏó£¬ÔÊý¾Ý¶ÔÏóµÄÖµ²»¿É¸Ä±ä£¬Ã¿´Î¼ÆËãʵ¼ÊÉÏÉú³ÉеÄ
RDD¡£µ¥ÐÐÇåÏ´¹æÔò½â¾öÁË£¬ÄÇô¶àÐмäÇåÏ´¹æÔòÔõô°ìÄØ£¿´Ë´¦£¬ÎÒÃÇÀûÓÃÁË Ignite ±¾ÉíºËÐĵķֲ¼Ê½¼üÖµ»º´æÄÜÁ¦¡£Á½ÖÖ¶àÐмäÇåÏ´¹æÔòÆä¸ù±¾¶¼¿ÉÒÔ¿´×öÊÇ·Ö×飨Group£©£¬ÄÇôµ±Óöµ½¶àÐмäÇåÏ´¹æÔòʱ£¬ÎÒÃÇÏÈÉèÖÃÒ»¸ö
IgniteCache£¬ÔÚ´¦ÀíÐÐÊý¾Ýʱ£¬È¡¹æÔòµÄ·Ö×é×Ö¶ÎÆ´ºÏ×÷Ϊ¼ü£¬µ½¸Ã¼üÖµ»º´æÖвéÕÒÊÇ·ñ´æÔÚ¶ÔÓ¦µÄÖµ£¬Èç¹û²»´æÔÚ£¬ÄÇô¾Í½«±¾ÐÐÊý¾Ý·ÅÈëÆäÖУ¬Èç¹ûÒÑ´æÔÚ£¬ÄÇô¾ÍÊÓ¾ßÌ广ÔòΪ·Ö×é»ã×Ü»¹ÊÇ·Ö×éÅÅÖØ£¬½«¸ÃÐÐÊý¾ÝµÄ»ã×Ü×Ö¶ÎÖµÀÛ¼Óµ½»º´æÖµ¶ÔÏóÖлòÕßÅׯú¡£Í¨¹ýÕâÖÖ·½Ê½£¬µ¥ÐÐÇåÏ´¹æÔòÓë¶àÐÐÇåÏ´¹æÔò¶¼¿ÉÒÔÓ¦Óõ½Ñ»·Ðд¦ÀíµÄÇåÏ´¹æÔòÁ´¹ÜµÀÄ£ÐÍÖÐÈ¥£¬´Ó¶ø·ûºÏͳһ³éÏóÉè¼Æ¡£
Ë«·½Êý¾ÝºË¶Ô£ºÄÚ´æÊý¾Ý¿âÓë SQL Íø¸ñ
֮ǰµÄÊý¾Ý¼ÓÔØ¼°Ô¤´¦Àí¼Ó¹¤¶¼ÊÇ A¡¢B µ¥·½¸÷×Ô´¦Àí£¬Ë«·½Ö®¼äÊý¾Ý»¥²»Ó°Ï죬¶øÖ÷ÒµÎñ¹ý³ÌµÄ×îºóÒ»¸ö»·½Ú¼´¡°ºË¶Ô¡±»·½Ú£¬¾ÍÐèÒªÓÃË«·½µÄÊý¾Ý½øÐбȶÔÁË¡£ÎªÁËÌá¸ßƽ̨ͨÓÃÐÔÂú×㸴ÔÓ¶à±äµÄ¶ÔÕËÒµÎñÐèÇ󣬺˶Ի·½ÚͬÑùÖ§³Ö¶àÖֺ˶ԹæÔòµ¥ÔªµÄÁé»î×éºÏÅäÖ㬻ù±¾ºË¶Ô¹æÔòµ¥ÔªÖ÷Òª°üÀ¨£º
¾«È·Æ¥Å䣬ָ A ·½Êý¾Ý¼Ç¼µÄij×Ö¶ÎÖµµÈÓÚ B ·½Êý¾Ý¼Ç¼µÄij×Ö¶ÎÖµ¡£ÀýÈ磬A ·½Êý¾ÝµÄ¡°¶©µ¥ºÅÂ롱µÈÓÚ
B ·½Êý¾ÝµÄ¡°½»Ò×Á÷Ë®ºÅ¡±¡£
Ïà¹ØÆ¥Å䣬ָ A ·½Êý¾Ý¼Ç¼µÄij×ֶεÈÓÚÖ¸¶¨Öµ£¬Í¬Ê± B ·½Êý¾Ý¼Ç¼µÄij×ֶεÈÓÚÁíÒ»Ö¸¶¨Öµ¡£ÀýÈ磬A
·½Êý¾ÝµÄ¡°½»Ò×ÀàÐÍ¡±µÈÓÚ¡°Ïµ¥¡±£¬B ·½Êý¾ÝµÄ¡°ÊÕÖ§ÀàÐÍ¡±µÈÓÚ¡°ÊÕÈ롱¡£
ÈÝ²îÆ¥Å䣬ÓÖ·ÖΪÕý¡¢·´ÏòÁ½ÖÖ£¬Ö¸ A ·½Êý¾Ý¼Ç¼µÄijÊýÖµ×Ö¶ÎÖµÓë B ·½Êý¾Ý¼Ç¼µÄijÊýÖµ×Ö¶ÎÖµµÄ²î£¨ÕýÏò£©»òÕߺͣ¨·´Ïò£©µÄ¾ø¶ÔֵСÓÚµÈÓÚÖ¸¶¨Öµ¡£ÀýÈ磬A
·½¡°¶©µ¥½ð¶î¡±Óë B ·½¡°Ö§¸¶½ð¶î¡±²îÖµ¾ø¶ÔֵСÓÚµÈÓÚ 0.01£¨Ôª£©¡£
¼Ó¼õÆ¥Å䣬ָ A ·½µÄÒ»¸ö»ò¶à¸öÊýÖµ×ֶνøÐмӼõÔËËãºóµÄÖµÓë B ·½Êý¾Ý¼Ç¼µÄÒ»¸ö»òÕß¶à¸öÊýÖµ×ֶμӼõÔËËãÖµÏàµÈ¡£ÀýÈ磬A
·½µÄ (¡°¶©µ¥½ð¶î¡±-¡°ÓŻݽð¶î¡±) µÈÓÚ B ·½µÄ (¡°×ʽðÊÕÈ롱+¡°ÐéÄâµÖ¿Û¡±)¡£
Ò»¸ö»ò¶à¸ö»ù±¾¹æÔòµ¥Ôª×é³ÉÒ»ÌõºË¶Ô¹æÔò£¬¶àÌõºË¶Ô¹æÔòÔÙ½øÒ»²½¹¹³ÉÍêÕûµÄ¶à²ã´ÎºË¶Ô¹æÔò×飬˫·½Êý¾ÝÐèÒÀ´Î³¢ÊÔÒÀ¾ÝºË¶Ô¹æÔò×éÖеĺ˶ԹæÔò£¬Ö±µ½·ûºÏijÌõºË¶Ô¹æÔò¶øºË¶Ô³É¹¦»òÕß²»·ûºÏÈÎÒ»ºË¶Ô¹æÔò¶ø¼ÇΪʧ°Ü²îÒì¡£ÔÚ¹æÔò×éÖл¹Òþº¬ÁËÒ»Ìõ¡°Ç±¹æÔò¡±ÔÔò£ºA¡¢B
·½Ã¿ÌõÊý¾Ý×î¶àÖ»ÔÊÐí±»³É¹¦Æ¥ÅäʹÓÃÒ»´Î¡£¼ÙÉè A ·½Ä³ÌõÊý¾Ý A1 ÄÜÇÒ½öÄÜÓë B ·½Ä³Á½ÌõÊý¾Ý B1¡¢B2
·ûºÏºË¶Ô¹æÔò R1£¬ÄÇô A1 Óë B1 ºË¶Ô³É¹¦ºó A1¡¢B1 ¼´±»Ê¹ÓÃÏûºÄ£¬A1 ²»ÄÜÔÙÓÃ×÷Óë
B2 ºË¶Ô£¬¹Ê B2 Ϊ²îÒì¡£
ÏÔÈ»£¬Ôں˶Թý³ÌÖУ¬Ë«·½Êý¾Ý¼Ç¼һµ©ÒÀ¾Ýij¹æÔòºË¶Ô³É¹¦¾ÍÐèÒª²ÉÓÃijÖÖ·½Ê½½øÐбê¼Çɸ³ý£¬ÒÔÃâ±»ÖØ¸´Ê¹Óá£Ô·½°¸»ùÓÚ¹ØÏµÐÍÊý¾Ý¿â´æ´¢¹ý³ÌʵÏÖË«·½Êý¾ÝºË¶Ô£¬¸ÅÀ¨¾ÍÊÇ£ºÓÉÓ¦Óøù¾ÝºË¶Ô¹æÔò×éÉú³É´æ´¢¹ý³Ì³ÌÐò½Å±¾£¬¶¯Ì¬Ë¢ÈëÊý¾Ý¿âÔÙµ÷Óã»ÔÚË«·½Êý¾Ý±íÖÐÉèÒ»×Ö¶ÎÓÃÀ´±êʶ¸Ã¼Ç¼ÊÇ·ñ±»ºË¶Ô³É¹¦Ê¹Ó㬳õʼֵ¾ùΪ·ñ£»´æ´¢¹ý³ÌÖÐÒÔÒ»·½Êý¾Ý²éѯ½á¹û¼¯ÎªÓα꣬±éÀúÿÐÐÊý¾Ý£¬ÒÔ»ù±¾ºË¶Ô¹æÔòµ¥Ôª×÷Ϊ²éѯÌõ¼þ£¬µ½ÁíÒ»·½Êý¾Ý±íÖвéÕÒÉÐδºË¶Ô³É¹¦²¢Æ¥ÅäµÄ¼Ç¼£¬ÈôÓУ¬ÔòÈ¡µÚÒ»ÐÐ×÷ΪºË¶Ô³É¹¦£¬¸üÐÂË«·½µÄ³É¹¦Ê¹Óñêʶ¡£
¿ÉÒÔ¿´³öÔ½â¾ö·½°¸»ùÓÚ´ÅÅÌÊý¾Ý³Ö¾Ã»¯µÄ¶ÁдÐÔÄÜÒ²²»ÄÜÖ§³Ö¸ü¸ßµÄЧÂÊÒªÇ󣬲¢ÇÒ½á¹û¼¯Óαê±éÀú²éѯºË¶ÔËã·¨µÄʱ¼ä¸´ÔӶȽϸߣ¨O(n2)£©£¬¹Êз½°¸Öصã½â¾öÕâÁ½·½ÃæµÄÎÊÌâ¡£¶ÔÓÚµÚÒ»µã£¬Êµ¼ÊÉÏÔÚǰÊöÊý¾Ý½ÓÈë»·½Úз½°¸Éè¼ÆÒѾ½«Ë«·½Êý¾Ý·Ö±ð·ÅÈë
Ignite ·Ö²¼Ê½Äڴ漯ºÏÖУ¬Òò´ËÊý¾Ý IO ´ó¶à¶¼»ùÓÚÄڴ棬ËÙ¶È×ÔÈ»±È´ÅÅÌ IO Òª¸ß³öÐí¶à¡£¹ØÓÚµÚ¶þµã£¬Ð·½°¸²ÉÓÃ
Ignite µÄÄÚ´æÊý¾Ý¿âÌØÐÔ£¬½« A¡¢B Ë«·½Êý¾ÝµÄ·Ö²¼Ê½Äڴ滺´æ¼¯ºÏÀûÓà SQL Óï¾äÄÜÁ¦½øÐд¦Àí£¬ÓÃÏÈÅÅÐòºó±È¶ÔµÄËã·¨½«Ê±¼ä¸´ÔӶȽµµÍµ½
O(n)£¬¾ßÌå×ö·¨Îª£º¸ù¾ÝºË¶Ô¹æÔòËùʹÓõ½µÄ×ֶΣ¨°üÀ¨¾«È·Æ¥Åä¡¢ÈÝ²îÆ¥Åä¡¢¼Ó¼õÆ¥ÅäºóµÄÖµµÈ£©×÷ΪÅÅÐò×ֶΣ¬×é³ÉÅÅÐò
SQL Óï¾ä£¬¶Ô A¡¢B ·½Êý¾Ý»º´æºÏ¼¯·Ö±ð½øÐÐÅÅÐò²¢Ôö¼ÓÐкţ»ÔÙ´ÓË«·½ÅÅÐòºóÊý¾Ý¼¯ÖдӵÚÒ»Ìõ¿ªÊ¼£¬ÒÀ¾ÝÅÅÐò×Ö¶Î˳Ðò½øÐÐÖð×ֶιæÔòµ¥ÔªºË¶Ô±È½Ï£¬ÈôÈ«²¿·ûºÏÔòΪºË¶Ô³É¹¦£¬½«Ë«·½Êý¾ÝÐеıê¼Ç×ֶθüУ¬ÇÒË«·½¾ùÈ¡ÏÂÒ»Ìõ¼Ç¼¿ªÊ¼Ðº˶ԣ¬Èô²»·ûºÏ£¬ÔòÈ¡ºË¶Ôʧ°Ü×Ö¶ÎÖµ½ÏСһ·½µÄÏÂÒ»ÌõÊý¾ÝÔÙÀ´´Ó¸ÃºË¶Ô¹æÔòµÄÊ׸öµ¥Ôª×ֶοªÊ¼³¢ÊԺ˶ԣ»Öظ´´Ë¹ý³ÌÖ±µ½Ä³·½Êý¾ÝºÄ¾¡¡££¨ÈçÏÂͼ£©
»ùÓÚÅÅÐòÊý¾Ý¼¯µÄºË¶ÔË㷨ʾÒâ
ÓÉÓÚË«·½Êý¾ÝÔÚ·Ö²¼Ê½Äڴ滺´æÖУ¬ÇÒ·Ö²¼Ê½²¢ÐÐÅÅÐòЧÂʺܸߣ¬¼ÓÉϺ˶ÔË㷨ͨ¹ý»ùÓÚÅÅÐòºóµÄÊý¾Ý½øÐбȶԱÜÃâÁ˶ÔÒ»·½È«Á¿ÎÞÐòÊý¾ÝµÄÖØ¸´²éѯ¼ìË÷£¬Òò´Ë×ÜÌåÐÔÄÜÉÏÓкܴóÌáÉý¡£½øÒ»²½µØ£¬»¹¿ÉÒÔ¶ÔÒ»·½µÄijһ¾«È·Æ¥Å乿Ôòµ¥Ôª×Ö¶ÎÖµ½øÐвÉÑù·Ö¶Î£¬×÷ΪÉÏϽç²ÎÊý¹¹Ôì³öÒ»¸ö²¿·ÖºË¶ÔµÄ×ÓÈÎÎñ£¬ÆäÖ»¸ºÔð´Ó»º´æÊý¾Ý¼¯ÖÐÈ¡ÉÏϽçÄÚµÄÊý¾Ý²¢½áºÏÁíÒ»·½½øÐк˶ԣ¬´Ó¶øÊµÏÖ¶àÏ̲߳¢Ðд¦ÀíÒÔ´ïµ½¸ü¸ßЧºË¶ÔµÄÄ¿±ê¡£
ʵ¼ùЧ¹û
ÒÔÄ³ÕæÊµÊý¾Ý¶ÔÕËÐèÇóΪÀý£¬¸ÃÐèÇó A¡¢B Ë«·½ÔʼÊý¾Ý¸÷Ô¼ 1600 Íò£¬A ·½Êý¾ÝÄ£°å¹² 19 ¸ö×ֶΣ¬B
·½Êý¾ÝÄ£°å¹² 127 ¸ö×ֶΣ¬A ·½Êý¾ÝÇåÏ´¹æÔò 4 ×é¹² 653 Ìõ£¬B ·½Êý¾ÝÇåÏ´¹æÔò 19 ×é¹²
61 Ìõ£¬Ë«·½ºË¶Ô¹æÔò 4 ×é¹² 24 Ìõ¡£ÔÚÏàͬµÄÓ²¼þÌõ¼þÏ£¬¸÷»·½ÚÓÃʱµÈÖ¸±ê¶Ô±ÈÈçÏ¡£
³ý¿ÉÒÔʵÏÖ¸ü´óÊý¾ÝÁ¿´¦ÀíÍ⣬¸üÖØÒªµÄÊÇз½°¸¿ÉÒÔÇáËÉʵÏÖˮƽÀ©Õ¹ÒÔÌá¸ßϵͳµÄ´¦ÀíÄÜÁ¦£¬Ö»ÐèÒªÏò¼¯ÈºÖÐÔö¼Ó
Ignite ½Úµã¼´¿É¡£Òò´Ë£¬Ä¿Ç°ÏßÉÏʵ¼ÊÔÚÓõĶÔÕËÆ½Ì¨ÈÕ¾ùÀۼƴ¦ÀíÊý¾ÝÁ¿ÒѴﵽʮÒÚ×óÓÒ£¬ÓÐÁ¦µØÖ§³ÅÁËǰ¶Ë¸÷ÒµÎñԴϵͳµÄÔËÐÐÊý¾ÝºóÆÚ´¦ÀíÐèÇó¡£
|